<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-144  評論-80  文章-1  trackbacks-0
    2.設計一個查找鏈表中的數據的程序
    解:
    ????單鏈表中的數據查找,只能采用線性查找法往下一個節點查找。采用線性查找法查找鏈表中的數據時與數組不同的是,原來數組是用遞增數組索引來查找數據,在鏈表中是往下一個節點查找。
    程序代碼如下:
    #include<stdio.h>
    #include<stdlib.h>
    #define Max 10
    struct List????????/*結節點結構聲明*/???
    {
    ??? int Number;
    ??? int Total;
    ??? struct List *Next;
    };
    typedef struct List Node;
    typedef Node *Link;
    int Data[2][Max]=????????????? /*初始化數據*/
    ??????? {3,9,25,5,7,26,65,80,2,6,1050,3850,1000,5670,2250,9650,2380,
    ??????????? 1700,3000,2000};
    int SearchTime=0;??????? /*查找次數*/
    /*鏈表查找*/
    int List_Search(int Key,Link Head)
    {
    ??? Link Pointer;
    ??? Pointer=Head;??????? /*Pointer指針設為首節點*/
    ??? while(Pointer!=NULL)??? /*當節點為NULL結束循環*/
    ??? {
    ??????? SearchTime++;
    ??????? if(Pointer->Number==Key)
    ??????? {
    ??????????? printf("Data Number: %d\n",Pointer->Number);
    ??????????? printf("Data Total: %d\n",Pointer->Total);
    ??????????? return 1;
    ??????? }
    ??????? Pointer=Pointer->Next;????? /*指向下一個節點*/
    ??? }
    ??? return 0;
    }
    /*釋放鏈表*/
    void Free_List(Link Head)
    {
    ??? Link Pointer;??????? /*節點聲明*/
    ??? while(Head!=NULL)??? /*當節點為NULL結束循環*/
    ??? {
    ??????? Pointer=Head;
    ??????? Head=Head->Next;??? /*指向下一個節點*/
    ??????? free(Pointer);
    ??? }
    }
    /*建立鏈表*/
    Link Create_List(Link Head)
    {
    ??? Link New;??????? /*節點聲明*/
    ??? Link Pointer;??? /*節點聲明*/
    ??? int i;
    ??? Head=(Link)malloc(sizeof(Node));??? /*分配內存*/
    ??? if(Head==NULL)
    ??????? printf("Memory allocate Failure!\n");??? /*內存分配失敗*/
    ??? else
    ????{
    ??????? Head->Number=Data[0][0];??????? /*定義首節點數據編號*/
    ??????? Head->Total=Data[1][0];
    ??????? Head->Next=NULL;
    ??????? Pointer=Head;??????????? /*Pointer指針設為首節點*/
    ??????? for(i=1;i<Max;i++)
    ??????? {
    ??????????? New=(Link)malloc(sizeof(Node));??? /*分配內存*/
    ??????????? New->Number=Data[0][i];
    ??????????? New->Total=Data[1][i];
    ??????????? New->Next=NULL;
    ??????????? Pointer->Next=New;??????? /*將新節點串連在原列表尾端*/
    ??????????? Pointer=New;????????????? /*列表尾端節點為新節點*/
    ??????? }
    ??? }
    ??? return Head;
    }
    /*主程序*/
    void main()
    {
    ??? Link Head=NULL;??????? /*節點聲明*/
    ??? int Num;????????? /*欲查找數據編號*/
    ??? Head=Create_List(Head);??? /*建立鏈表*/
    ??? if(Head!=NULL)
    ??? {
    ??????? printf("Please input the data number:");
    ??????? scanf("%d",&Num);
    ??????? if(List_Search(Num,Head))
    ??????????? printf("Search Time=%d\n",SearchTime);
    ??????? else
    ??????????? printf("Not Found!\n");
    ??????? Free_List(Head);??????? /*釋放鏈表*/
    ??? }
    }
    *運行結果如下:

    posted on 2006-07-17 22:54 小力力力 閱讀(2336) 評論(0)  編輯  收藏 所屬分類: C/C++
    主站蜘蛛池模板: 日本最新免费网站| 四虎影视久久久免费| 久久久99精品免费观看| 久久久久亚洲AV无码专区网站 | 免费看一级毛片在线观看精品视频| 免费毛片在线看片免费丝瓜视频 | 亚洲av永久无码精品三区在线4| 无码免费一区二区三区免费播放 | 手机在线看永久av片免费| 亚洲国产成人精品久久| 免费观看无遮挡www的视频| 亚洲性一级理论片在线观看| 免费看h片的网站| 亚洲欧美乱色情图片| 国产jizzjizz视频全部免费| 四虎国产精品成人免费久久| 国产精品亚洲综合专区片高清久久久| 好吊色永久免费视频大全 | 亚洲欧洲成人精品香蕉网| 国产在线观看免费视频软件| 亚洲一区二区三区电影| 野花高清在线电影观看免费视频| 亚洲AV无码之国产精品| 久久久久国产亚洲AV麻豆| 国产在线精品免费aaa片| 亚洲精品在线网站| 免费毛片在线播放| 中国黄色免费网站| 亚洲精品福利网泷泽萝拉| 国产青草视频免费观看97| 黄床大片免费30分钟国产精品| 亚洲人成亚洲精品| 午夜男人一级毛片免费| 四虎成人精品国产永久免费无码 | 国产免费久久精品| 3344在线看片免费| 亚洲av成人综合网| 亚洲AV伊人久久青青草原| 无码av免费一区二区三区试看| 亚洲无码一区二区三区| 亚洲中文字幕无码不卡电影|