<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 小力力力 閱讀(2337) 評論(0)  編輯  收藏 所屬分類: C/C++
    主站蜘蛛池模板: 亚洲最大在线观看| 亚洲最大在线视频| 女人裸身j部免费视频无遮挡| 在线观看免费人成视频| 亚洲乱码一二三四区国产| 在线看免费观看AV深夜影院| 亚洲蜜芽在线精品一区| 777爽死你无码免费看一二区| 91精品国产亚洲爽啪在线影院 | 国产卡二卡三卡四卡免费网址| 久久久久亚洲精品天堂| 69xx免费观看视频| 亚洲制服丝袜第一页| 最新仑乱免费视频| 在线观看亚洲网站| ZZIJZZIJ亚洲日本少妇JIZJIZ| aa在线免费观看| 午夜亚洲国产理论秋霞| 91青青青国产在观免费影视| 久久精品国产亚洲AV蜜臀色欲| 久久久久国色AV免费看图片| 国产精品亚洲专区无码牛牛| 亚洲国产成人影院播放| 免费人成毛片动漫在线播放| 亚洲国产美女在线观看| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 国产亚洲人成在线影院| 久久久久久A亚洲欧洲AV冫| 野花香高清视频在线观看免费| 亚洲视频在线免费看| 免费看片免费播放| 久久国产美女免费观看精品| 亚洲欧洲日产国产综合网| 黄瓜视频高清在线看免费下载| 亚洲av片在线观看| 亚洲国产精品福利片在线观看| 67194熟妇在线永久免费观看| 福利片免费一区二区三区| 亚洲va国产va天堂va久久| 国产va精品免费观看| 一级毛片免费毛片毛片|