/**
* 實驗題目:
* 實現迴圈單鏈表各種基本運算的演算法
* 實驗內容:
* 編寫乙個程式實現迴圈單鏈表的各種基本運算,並在此基礎上設計乙個主程式
* 完成如下功能:
* (1)初始化迴圈單鏈表h
* (2)依次採用尾部插入法插入a,b,c,d,e元素
* (3)輸出迴圈單鏈表h
* (4)輸出迴圈單鏈表h長度
* (5)判斷迴圈單鏈表h是否為空
* (6)輸出迴圈單鏈表h的第3個元素
* (7)輸出元素a的位置
* (8)在第4個元素位置上插入f元素
* (9)輸出迴圈單鏈表h
* (10)刪除h的第3個元素
* (11)輸出迴圈單鏈表h
* (12)釋放迴圈單鏈表h
*/#include
#include
typedef char elemtype;
typedef struct lnode // 定義迴圈單鏈表結點型別
linklist;
/*-------------------------初始化迴圈單鏈表l------------------------*/
void initlist(linklist *&l) // 指標的引用
/*-------------------------釋放迴圈單鏈表l------------------------*/
void destroylist(linklist *&l)
free(p);
}/*-------------------------判斷迴圈單鏈表l是否為空表------------------------*/
int listempty(linklist *l)
/*-------------------------返回迴圈單鏈表l的元素個數------------------------*/
int listlength(linklist *l)
return i;
}/*-------------------------輸出迴圈單鏈表l------------------------*/
void displist(linklist *l)
printf("\n");
}/*-------------------------獲取迴圈單鏈表l中的第i個元素------------------------*/
int getelem(linklist *l, int i, elemtype &e) // 引用
else // i不為1時
if(p == l)
return 0;
else // 找到第i個元素}}
else // 單鏈表為空表時
return 0;
}/*-------------------------在迴圈單鏈表l中查詢元素e------------------------*/
int locateelem(linklist *l, elemtype e)
if(p == l)
return 0;
else
return n;
}/*-------------------------在迴圈單鏈表l中第i個位置上插入元素e------------------------*/
int listinsert(linklist *&l, int i, elemtype e)
else
if(p == l) // 未找到第i-1個結點
return 0;
else // 找到第i-1個結點}}
/*-------------------------在迴圈單鏈表l中刪除第i個元素------------------------*/
int listdelete(linklist *&l, int i, elemtype &e)
else // i不為1時
if(p == l) // 未查找到第i-1個結點
return 0;
else // 查詢到第i-1個結點 }}
else
return 0;
}int main(void)
測試結果:
(1)初始化迴圈單鏈表h
(2)依次採用尾部插入法插入a,b,c,d,e元素
(3)輸出迴圈單鏈表h:a b c d e
(4)迴圈單鏈表h長度=5
(5)迴圈單鏈表h為非空
(6)迴圈單鏈表h的第3個元素=c
(7)元素a的位置=1
(8)在第4個元素位置上插入f元素
(9)輸出迴圈單鏈表h:a b c f d e
(10)刪除h的第3個元素
(11)輸出迴圈單鏈表h:a b f d e
(12)釋放迴圈單鏈表h
單鏈表的各種基本運算
輸入 實驗題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...
實驗一 單鏈表的各種基本運算
編寫乙個程式,實現單鏈表的各種基本運算 建立乙個單鏈表,實現單鏈表的初始化,插入 刪除節點等功能,以及確定某一元素在單鏈表中的位置。1 初始化單鏈表 2 依次採用尾插入法插入a,b,c,d,e元素 3 輸出單鏈表l 4 輸出單鏈表l的長度 5 判斷單鏈表l是否為空 6 輸出單鏈表l的第三個元素 7 ...