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

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

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

    隨筆-14  評論-142  文章-0  trackbacks-0

    靜態單鏈表 :

    線性表的靜態單鏈表存儲結構 :

    #define MAXSIZE 100;

    ?

    typedef struct{

    ?

    ? ElemType data;

    ? int cur;

    ?

    }component,SLinkList[MAXSIZE];

    ?

    分析 :

    這種描述方法便于在不設 指針 類型的高級程序設計語言中 , 使用的鏈表結構 . 數組的零分量可看成頭節點 . 這種結構仍然需要預先分配一個較大的空間 . 但在插入和刪除的時候 , 不需要移動元素 . 僅需要修改指針 . 所以仍然具有鏈式存儲結構的主要優點 .

    ?

    基本操作 :

    (1) ?? 在靜態單鏈表中 , 查找第一個值為 e 的元素 .

    int LocateElem_L(SLinkList S, ElemType e)

    {

    ?

    ?? i = S[0].cur;

    ?? while(i && S[i].data != e) i=S[i].cur;

    ?? return i;

    ?

    }

    分析 :

    如果找不到相應的元素 , 返回值為 0.


    (2) ???? 將一維數組 space 中的各個分量 , 鏈成一個備用的鏈表 .

    space[0].cur 為頭指針 .

    ?

    void InitSpace(SLinkList &space){

    ?

    ?

    ?? for(i =0;i<MAXSIZE-1;++i)

    ????? space[i].cur = i+1;

    ?? space[MAXSIZE-1].cur =0;

    ?

    }

    ?

    (3) ?? 如果備用空間的鏈表非空 , 則返回分配的節點下標 ,

    否則 , 返回 0;

    ?

    int Malloc_SL(SLinkList &space){

    ?

    ?? i=space[0].cur;

    ?? if(space[0].cur)

    ????? space[0].cur =space[i].cur;

    ?? return i;

    }

    (4) 將下標為 k 的空閑節點回收到備用鏈表 .

    void Free_SL(SLinkList &space,int k)

    {

    space[k].cur =space[0].cur;

    space[0].cur = k;

    }


    (4) ?? 計算集合運算 (A-B ) (B-A)

    假設由終端輸入集合元素 , 先建立表示集合 A 的靜態鏈表 S, 然后在輸入集合 B 的元素的同時查找 S , 如果存在相同的元素 , 則從 S 表中刪除 , 否則將其插入到 S 表中 .

    具體代碼如下 :

    void difference(SLinkList &space , int &s)

    {

    ?

    ????? InitSpace_SL(space);

    ????? s = Malloc_SL(space);

    ????? r=s;

    ????? scanf(m,n);

    ????? for(j=1;j<=m;++j)

    {???? i =Malloc_SL(space);

    ?????????? scanf(space[i].data);

    ?????????? space[r].cur =i;

    ?????????? r=i;

    ????? }? space[r].cur=0;

    for (j=1;j<=n;++j){

    ??? scanf(b);

    ??? p=s;k=space[s].cur;

    ??? while(k!=space[r].cur && space[k].data !=b)

    ??? { p=k;k=space[k].cur;}

    if (k==space[r].cur)

    {

    ??? ?? i = Malloc_SL(space);

    ??? ?? space[i].data = b;

    ??? ?? space[i].cur = space[r].cur;

    ??? ?? space[r].cur = i;

    ??? ?? r=i;

    ??? }

    ??? else{

    ????? space[p].cur =space[k].cur;

    ????? Free_SL(space,k);

    ????? if(r==k)

    ????? r=p;

    ??? }

    }

    }

    posted on 2006-06-16 01:06 liulang 閱讀(1257) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲色欲啪啪久久WWW综合网| 四虎影视在线影院在线观看免费视频 | 中文在线观看免费网站| 亚洲一久久久久久久久| 亚洲精品成人av在线| 成人亚洲性情网站WWW在线观看| 国产在线观看片a免费观看| 久久久久国产精品免费网站| 日韩精品免费一线在线观看| 亚洲男人的天堂网站| 亚洲av成人一区二区三区| 色噜噜综合亚洲av中文无码| 自拍偷自拍亚洲精品被多人伦好爽 | 成年轻人网站色免费看| 亚洲精品视频在线观看免费| 免费无码又爽又刺激一高潮| 一级毛片无遮挡免费全部| 色噜噜狠狠色综合免费视频| 亚洲国产精品ⅴa在线观看| 国产成人精品亚洲2020| 亚洲一区二区三区在线| 亚洲精品视频在线播放| 亚洲人成亚洲精品| 亚洲一区影音先锋色资源| 亚洲VA中文字幕无码一二三区 | 美女无遮挡免费视频网站| 亚洲爆乳少妇无码激情| 亚洲色大成网站www尤物| 亚洲欧洲日本在线观看| 麻豆狠色伊人亚洲综合网站| 久久精品国产亚洲αv忘忧草 | 女人张开腿等男人桶免费视频 | 日本亚洲精品色婷婷在线影院| 亚洲中文无码av永久| 亚洲国产中文在线二区三区免| 亚洲国产成人久久99精品| 亚洲一区二区三区久久久久| 色老板亚洲视频免在线观| 亚洲综合精品伊人久久| 亚洲精品无码人妻无码| 国产精品亚洲一区二区三区久久 |