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

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

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

    隨筆-14  評(píng)論-142  文章-0  trackbacks-0

    線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) :

    鏈?zhǔn)酱鎯?chǔ)表示 :

    typedef struct LNode{

    ?

    ? ElemType ? data;

    ? Struct LNode *next;

    ?

    }LNode,*LinkList;

    基本操作在鏈表上的實(shí)現(xiàn) :

    (1) ?? 單鏈表的取元素算法(經(jīng)典

    Status GetElem_L(LinkList L, int i,ElemType &e)

    {

    ?

    p=L->next; j=1;

    while(p && j<i)

    {

    ????? p=p->next;++j;

    }

    if(!p || j>i) return ERROR;

    e=p->data;

    return OK;

    ?

    }

    算法分析 :

    基本操作是 : 比較 j I, 并把指針后移 , 循環(huán)體執(zhí)行的次數(shù) , 與被查元素的位置有關(guān) . 假設(shè)表長為 n, 如果 1<=i<=n, 那么循環(huán)體中語句的執(zhí)行次數(shù)為 i-1. 否則次數(shù)為 n 所以時(shí)間復(fù)雜度為 O(n).

    ?

    ? (2) ?? 插入元素算法

    Status ListInsert_L(LinkList &L, int i,ElemType e)

    {

    ?

    ?? p=L;j=0;

    ?? while(p&&j<i-1)

    ????? { p=p->next;++j}

    ?? if(!p || j>i-1)

    ????? return ERROR;

    ?

    ?? s = (LinkList)malloc(sizeof(LNode));

    ?? s->data = e;

    ?? s->next = p->next;

    ?? p->next =s;

    ?? return OK;

    }
    (3) ?? 刪除元素算法

    Status ListDelete_L(LinkList &L, int i,ElemType &e)

    {

    ?? p=L;j=0;

    while(p &&j<i-1)

    ?? {p=p->next;++j}

    if(!p ||j>i-1)

    ????? return? ERROR;

    ??

    q=p->next;

    ?? p->next =q->next;

    ?? e =q->data;

    ?? free(q);

    ?? return OK;

    }

    ?

    算法分析 :

    插入和刪除算法 , 都要先找到第 i-1 個(gè)節(jié)點(diǎn) , 所以時(shí)間復(fù)雜度為 O(n);

    ? (4) ?? 單鏈表的建立算法

    ?

    void CreateList_L(LinkList &L,int n){

    ?

    ?L =(LinkList)malloc(sizeof(LNode));

    ?

    ?L->next = null;

    ? for(i = n;i>0;--i){

    ?

    ? p =(LinkList)malloc(sizeof(LNode));

    ? scanf(&p->data);

    ? p->next = L->next;

    ? L->next =p;

    ? }

    ?

    }

    算法分析 :

    按照逆序循環(huán)輸入 n 個(gè)數(shù)據(jù)元素的值 , 建立新節(jié)點(diǎn) . 并插入 . 因此算法的時(shí)間復(fù)雜度為 O(n).


    posted on 2006-06-16 01:04 liulang 閱讀(953) 評(píng)論(3)  編輯  收藏

    評(píng)論:
    # re: 單鏈表學(xué)習(xí)筆記 2006-06-24 16:18 | leilei
    怎么使用c寫的??  回復(fù)  更多評(píng)論
      
    # re: 單鏈表學(xué)習(xí)筆記 2006-06-24 16:20 | liulang
    我現(xiàn)在也在同步學(xué)習(xí)C!!  回復(fù)  更多評(píng)論
      
    # re: 單鏈表學(xué)習(xí)筆記 2006-10-31 18:20 | lovekker
    謝謝,正在學(xué)習(xí) 非常需要!!!   回復(fù)  更多評(píng)論
      

    只有注冊用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产高清不卡免费在线| 免费jjzz在在线播放国产| 国产日本亚洲一区二区三区| 毛片免费在线视频| 色老头综合免费视频| 久久精品国产精品亚洲艾草网| av无码免费一区二区三区| 三年片在线观看免费观看大全中国 | 亚洲日韩精品无码AV海量| 亚洲精品乱码久久久久久| 成年在线观看网站免费| 国产在线观a免费观看| 亚洲精品动漫免费二区| 久久久亚洲精品无码| 日韩在线视频免费看| 91精品视频在线免费观看| 国产成人高清亚洲一区91| 亚洲欧洲日韩不卡| 亚洲av高清在线观看一区二区 | 青青草原1769久久免费播放| 亚洲乱亚洲乱妇24p| 色婷婷六月亚洲婷婷丁香| 亚洲精品老司机在线观看| 日本精品人妻无码免费大全| 精品一卡2卡三卡4卡免费视频| 亚洲av无码一区二区三区人妖| 久久精品国产亚洲av高清漫画| 免费播放春色aⅴ视频| 99久久这里只精品国产免费| 久久精品国产免费一区| 日韩大片免费观看视频播放| 国产成人亚洲综合一区| 99久久亚洲精品无码毛片| 国产亚洲免费的视频看| 亚洲精品无码久久毛片| 国产gav成人免费播放视频| 野花高清在线观看免费3中文| 最近免费中文字幕大全免费| 嫩草影院在线播放www免费观看| 免费无码婬片aaa直播表情| 亚洲AV无码国产精品永久一区|