<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++
    主站蜘蛛池模板: 小说专区亚洲春色校园| 亚洲人成在久久综合网站| 日日狠狠久久偷偷色综合免费| 女人被男人桶得好爽免费视频| 亚洲一级免费视频| 国产免费av片在线看| 亚洲中文字幕乱码AV波多JI| 久久久久久99av无码免费网站| 亚洲综合激情五月丁香六月| 日本免费无遮挡吸乳视频电影| 亚洲av无码无线在线观看| 亚洲国产av一区二区三区| 一级全免费视频播放| 久久久久久久综合日本亚洲| 99re免费在线视频| 亚洲卡一卡二卡乱码新区| 大学生a级毛片免费观看| 特级毛片免费观看视频| 亚洲中文字幕无码日韩| 免费国产污网站在线观看15| 亚洲人成伊人成综合网久久| 美女黄网站人色视频免费国产| 免费福利资源站在线视频| 亚洲热妇无码AV在线播放| 亚洲精品国产免费| 久久久久亚洲AV无码去区首| 国产自偷亚洲精品页65页| 最近中文字幕免费mv在线视频| 亚洲精品123区在线观看| 亚洲精品网站在线观看不卡无广告| 国产日韩AV免费无码一区二区 | 一二三区免费视频| 久久亚洲精品中文字幕| 免费看AV毛片一区二区三区| 中国videos性高清免费| 国产成人精品日本亚洲专| 亚洲综合国产一区二区三区| 免费黄色福利视频| www免费插插视频| 国产色在线|亚洲| 亚洲国产精品成人精品无码区在线 |