雙鏈表各種基礎運算

2021-04-12 15:59:18 字數 1497 閱讀 9537

函式:

1. initlist(dlinklist *&l):

初始化雙鏈表l.

2. destroylist(dlinklist *l):

釋放雙鏈表l.

3. listempty(dlinklist *l):

判斷雙鏈表

l是否為空表。

4. listlength(dlinklist *l):

返回雙鏈表

l的元素個數。

5. displist(dlinklist *l):

輸出雙鏈表l.

6. getelem(dlinklist *l,int i,elemtype &e):

獲取雙鏈表l中第

i個元素。

7. locateelem(dlinklist *l,elemtype e):

在雙鏈表

l中查詢元素e.

8. listinsert(dlinklist *&l,int i,elemtype e):

在雙鏈表l中第

i個位置上插入元素e.

9. listdelete(dlinklist *&l,int i,elemtype e):

雙鏈表l

中刪除第

i個元素。

具體**實現如下:

#include

#include

typedef char elemtype;

typedef struct dnode //定義雙鏈表結點型別

dlinklist;

void initlist(dlinklist *&l)

void destroylist(dlinklist *&l)

free(p);

}int listempty(dlinklist *l)

int listlength(dlinklist *l)

return(i);

}void displist(dlinklist *l)

printf("/n");

}int getelem(dlinklist *l,int i,elemtype &e)

if(p==null)

return 0;

else

}int locateelem(dlinklist *l,elemtype e)

if(p==null)

return(0);

else

return(n);

}int listinsert(dlinklist *&l,int i,elemtype e)

if(p==null)//未找到第i-1個結點

return(0);

else//找到第i-1個結點*p

}int listdelete(dlinklist *&l,int i,elemtype &e)

if(p==null)//未找到第i-1個結點

return 0;

else//找到第i-1個結點*p

}void main()

雙鏈表的各種基本運算

輸入 include includetypedef char elemtype typedef struct lnode linklist 建立雙鏈表 void createlistf linklist l,elemtype a,int n 初始化線性表 void initlist linklist...

單鏈表的各種基本運算

輸入 實驗題2 2 include includetypedef char elemtype typedef struct lnode linklist 使用頭插法 void createlistf linklist l,elemtype a,int n 使用尾插法 void createlistr...

單鏈表各種基本運算的演算法

include includetypedef char elemtype typedef struct lnode linknode 宣告單鏈表節點型別 void createlistf linknode l,elemtype a,int n 頭插法建立單鏈表 void createlistr li...