肃宁一中艺术节
当前位置:肃宁一中艺术节 > IT相关 > 算法 > 正文  |  快速导航:行业资讯 软件测试 风云人物 计算机英语 游戏开发 移动应用 地图开发 算法 程序员
  • 李敖点评郭美美:链表功能的使用C语言实现(10)

  • 字号:[ ]2013-10-20 11:09:39  阅读:198次  来源:乐猪网  编辑:银河精灵  收藏
  • 摘要:在前面已经讲了很多关于链表的知识和实例,在这里再列举了一个应用单链表基本算法的综合程序,双向链表和循环链表的综合程序,也算是对前面的知识进行一个总结,有空大家可以自己去试一试。
  • 肃宁一中艺术节 www.sdaiyun.cn 这个实例主要功能包括:
        1.建立新表
        2.查找数据
        3.插入数据
        4.删除数据
        5.打印数据
        6.退出系统

    #include <stdio.h> 
    #include <malloc.h> 
    #include <string.h> 
    #define N 10 typedef struct node 
    { 
        char name[20]; 
        struct node *link; 
    }stud; 
       
    stud * creat(int n) 
    { 
        stud *p,*h,*s; 
        int i; 
        if((h=(stud *)malloc(sizeof(stud)))==NULL) 
        { 
            printf("不能分配内存空间!"); 
            exit(0); 
        } 
        h->name[0]='\0'; 
        h->link=NULL; 
        p=h; 
        for(i=0;i<n;i++) 
        { 
            if((s= (stud *) malloc(sizeof(stud)))==NULL) 
            { 
                printf("不能分配内存空间!"); 
                exit(0); 
            } 
            p->link=s; 
            printf("请输入第%d个人的姓名",i+1); 
            scanf("%s",s->name); 
            s->link=NULL; 
            p=s; 
        } 
        return(h); 
    } 
       
    stud * search(stud *h,char *x) 
    { 
        stud *p; 
        char *y; 
        p=h->link; 
        while(p!=NULL) 
        { 
            y=p->name; 
            if(strcmp(y,x)==0) 
                return(p); 
            else p=p->link; 
        } 
        if(p==NULL) 
        printf("没有查找到该数据!"); 
    } 
       
    stud * search2(stud *h,char *x) 
    { 
        stud *p,*s; 
        char *y; 
        p=h->link; 
        s=h; 
        while(p!=NULL) 
        { 
            y=p->name; 
            if(strcmp(y,x)==0) 
                return(s); 
            else
            { 
                p=p->link; 
                s=s->link; 
            } 
        } 
        if(p==NULL) 
            printf("没有查找到该数据!"); 
    }    
       
    void insert(stud *p) 
    { 
        char stuname[20]; 
        stud *s; 
        if((s= (stud *) malloc(sizeof(stud)))==NULL) 
        { 
            printf("不能分配内存空间!"); 
            exit(0); 
        } 
        printf("\n请输入你要插入的人的姓名:"); 
        scanf("%s",stuname); 
        strcpy(s->name,stuname); 
        s->link=p->link; 
        p->link=s; 
    } 
       
    void del(stud *x,stud *y) 
    { 
        stud *s; 
        s=y; 
        x->link=y->link; 
        free(s); 
    } 
       
    void print(stud *h) 
    { 
        stud *p; 
        p=h->link; 
        printf("数据信息为:\n"); 
        while(p!=NULL) 
        { 
            printf("%s ",&*(p->name)); 
            p=p->link; 
        } 
    } 
       
    void quit() 
    { 
        exit(0); 
    } 
       
    void menu(void) 
    { 
        clrscr(); 
        printf("\t\t\t单链表C语言实现实例\n"); 
        printf("\t\t|————————————————|\n"); 
        printf("\t\t| |\n"); 
        printf("\t\t| [1] 建 立 新 表 |\n"); 
        printf("\t\t| [2] 查 找 数 据 |\n"); 
        printf("\t\t| [3] 插 入 数 据 |\n"); 
        printf("\t\t| [4] 删 除 数 据 |\n"); 
        printf("\t\t| [5] 打 印 数 据 |\n"); 
        printf("\t\t| [6] 退 出 |\n"); 
        printf("\t\t| |\n"); 
        printf("\t\t| 如未建立新表,请先建立! |\n"); 
        printf("\t\t| |\n"); 
        printf("\t\t|————————————————|\n"); 
        printf("\t\t 请输入你的选项(1-6):"); 
    } 
       
    main() 
    { 
        int choose; 
        stud *head,*searchpoint,*forepoint; 
        char fullname[20]; 
       
        while(1) 
        { 
            menu(); 
            scanf("%d",&choose); 
            switch(choose) 
            { 
                case 1:head=creat(N); 
                    break; 
                case 2:printf("输入你所要查找的人的姓名:"); 
                    scanf("%s",fullname); 
                    searchpoint=search(head,fullname); 
                    printf("你所查找的人的姓名为:%s",*&searchpoint->name); 
                    printf("\n按回车键回到主菜单。"); 
                    getchar();getchar(); 
                    break; 
                case 3: printf("输入你要在哪个人后面插入:"); 
                    scanf("%s",fullname); 
                    searchpoint=search(head,fullname); 
                    printf("你所查找的人的姓名为:%s",*&searchpoint->name); 
                    insert(searchpoint); 
                    print(head); 
                    printf("\n按回车键回到主菜单。"); 
                    getchar();getchar(); 
                    break; 
                case 4:print(head); 
                    printf("\n输入你所要删除的人的姓名:"); 
                    scanf("%s",fullname); 
                    searchpoint=search(head,fullname); 
                    forepoint=search2(head,fullname); 
                    del(forepoint,searchpoint); 
                    break; 
                case 5:print(head); 
                    printf("\n按回车键回到主菜单。"); 
                    getchar();getchar(); 
                    break; 
                case 6:quit(); 
                    break; 
                    default:printf("你输入了非法字符!按回车键回到主菜单。"); 
                    clrscr(); 
                    menu(); 
                    getchar(); 
            } 
        } 
    }

        有关链表教程,到这里10节内容全部讲完。对于链表的学习,还需要靠自己多看书,看动手练练,这样更容易加深对链表的认识!

  • 顶一下
    (0)
    0%
    踩一下
    (0)
    0%
肃宁一中艺术节 版权所有 Copyright © 2012-2015 www.sdaiyun.cn All rights reserved.
本站用于学习交流,部分文章来源于网络,如果不慎侵犯了您的权益,请联系我们删除!
粤ICP备12000837号
武汉助孕包成功 | 上海代孕机构 | 代孕 | 深圳代孕 | 广州代怀孕 |
  • 保亭举办国际禁毒日“全民彩妆徒步”活动_一起来看流星雨mp4 2019-07-19
  • 5G商用拓宽互联网入口_特种部队军衔经验表 2019-07-19
  • 为什么要制定《关于实施教育扶贫工程的意见》?_无双乱舞4.27 2019-07-19
  • 汇聚民心 护航发展——国际社会热评中国共产党近年来执政能力建设 2019-07-19
  • 【雄安新区两周年系列评论①】规划既定,期待绘制最美“雄安画卷”_真情满天下闽南语全集 2019-07-19
  • 奔驰GLS终于不再孤独,但宝马X7不止是来作陪的!_yc8充值 2019-07-19
  • 湖北举行第29次全国助残日系列活动_侯佩岑 周杰伦 2019-07-19
  • 跨国企业“大佬”眼中新时代的福建:大有机遇,更有信心_n72手电筒 2019-07-19
  • 清明小长假 超1600万人次游荆楚旅游收入96.44亿_kodak z730 2019-07-19
  • 临桂区平水村种植中药材壮大集体经济_尹恩惠 姜志焕 2019-07-19
  • 马尾在全市率先推出“一窗受理”升级版 三类窗口合并 _覆雨翻云邪王天下 2019-07-19
  • 为中菲友好合作描绘新蓝图_四川什坊 2019-07-19
  • 第二十届世界肉类大会_前锋燃气灶价格 2019-07-19
  • 【解码安徽新信号】实现贫困人口全面脱贫_陆奕彤 2019-07-19
  • 柳州:北部三县受灾严重 多条河流超警_名校博士后逼返航班 2019-07-19
  • 武汉助孕包成功 | 上海代孕机构 | 代孕 | 深圳代孕 | 广州代怀孕 |
  • 保亭举办国际禁毒日“全民彩妆徒步”活动_一起来看流星雨mp4 2019-07-19
  • 5G商用拓宽互联网入口_特种部队军衔经验表 2019-07-19
  • 为什么要制定《关于实施教育扶贫工程的意见》?_无双乱舞4.27 2019-07-19
  • 汇聚民心 护航发展——国际社会热评中国共产党近年来执政能力建设 2019-07-19
  • 【雄安新区两周年系列评论①】规划既定,期待绘制最美“雄安画卷”_真情满天下闽南语全集 2019-07-19
  • 奔驰GLS终于不再孤独,但宝马X7不止是来作陪的!_yc8充值 2019-07-19
  • 湖北举行第29次全国助残日系列活动_侯佩岑 周杰伦 2019-07-19
  • 跨国企业“大佬”眼中新时代的福建:大有机遇,更有信心_n72手电筒 2019-07-19
  • 清明小长假 超1600万人次游荆楚旅游收入96.44亿_kodak z730 2019-07-19
  • 临桂区平水村种植中药材壮大集体经济_尹恩惠 姜志焕 2019-07-19
  • 马尾在全市率先推出“一窗受理”升级版 三类窗口合并 _覆雨翻云邪王天下 2019-07-19
  • 为中菲友好合作描绘新蓝图_四川什坊 2019-07-19
  • 第二十届世界肉类大会_前锋燃气灶价格 2019-07-19
  • 【解码安徽新信号】实现贫困人口全面脱贫_陆奕彤 2019-07-19
  • 柳州:北部三县受灾严重 多条河流超警_名校博士后逼返航班 2019-07-19