<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

    線性表的鏈式存儲結構 :

    鏈式存儲表示 :

    typedef struct LNode{

    ?

    ? ElemType ? data;

    ? Struct LNode *next;

    ?

    }LNode,*LinkList;

    基本操作在鏈表上的實現 :

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

    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, 并把指針后移 , 循環體執行的次數 , 與被查元素的位置有關 . 假設表長為 n, 如果 1<=i<=n, 那么循環體中語句的執行次數為 i-1. 否則次數為 n 所以時間復雜度為 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 個節點 , 所以時間復雜度為 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;

    ? }

    ?

    }

    算法分析 :

    按照逆序循環輸入 n 個數據元素的值 , 建立新節點 . 并插入 . 因此算法的時間復雜度為 O(n).


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

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

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


    網站導航:
     
    主站蜘蛛池模板: 国产精品自在自线免费观看| 免费va人成视频网站全| 亚洲欧美中文日韩视频| 亚洲日韩在线第一页| 无码人妻丰满熟妇区免费| 亚洲最大天堂无码精品区| 亚洲日韩涩涩成人午夜私人影院| 2021精品国产品免费观看| 亚洲成a人片在线观看天堂无码| 国产精品亚洲综合一区| 99久久精品日本一区二区免费 | 亚洲尹人香蕉网在线视颅 | 亚洲视屏在线观看| 免费人成视网站在线观看不卡| 免费毛片a线观看| 亚洲av成人一区二区三区在线播放| 精品国产亚洲一区二区三区| 在线a级毛片免费视频| 黄桃AV无码免费一区二区三区| 亚洲精品第一国产综合野| 日韩精品亚洲aⅴ在线影院| 蜜桃视频在线观看免费网址入口| 国内精品99亚洲免费高清| 亚洲AV无码一区二区一二区| 亚洲国语精品自产拍在线观看| 免费a在线观看播放| 一个人免费高清在线观看| 成在人线av无码免费高潮喷水| 亚洲色大18成人网站WWW在线播放| 精品国产_亚洲人成在线高清| 免费看国产一级特黄aa大片| 久久久久久精品成人免费图片| 免费无码午夜福利片 | 一级毛片免费毛片毛片| 亚洲国产熟亚洲女视频| 久久久久久亚洲精品| 亚洲精品在线视频| 日本人护士免费xxxx视频| 一二三四在线播放免费观看中文版视频 | aa级毛片毛片免费观看久| WWW亚洲色大成网络.COM|