//從第乙個結點開始
for(i =
1; currnode&&i < pos -
1; i++
)//開始遍歷節點,找到當前節點
if(currnode)
//當前節點非空}}
void
printcircularlinklist
(circularlinklist* clist)
circularnode* node = clist->next;
//頭指標指向頭節點
for(i =
0; i < clist->length; i++
)//迴圈列印節點資料
printf
("\n");
}int
delcircularlinklist_node
(circularlinklist* clist,
int pos)
clist->next = node->next;
//頭指標指向刪除節點的下乙個節點
lastnode->next = clist->next;
//最後乙個節點指向刪除節點的下乙個節點
free
(node)
;//釋放節點
clist->length--
;//節點長度減一
}return0;
//空鍊錶,什麼都不返回
}//考慮刪除的節點的位置不是第乙個
circularnode* pernode=
null
;//當前節點的前乙個節點
circularnode* node = clist->next;
//當前節點
for(i =
1; node&&i < pos; i++
)//迴圈找到當前節點和當前節點的前乙個節點
if(node)
//如果當前節點為真
return value;
//返回當前節點的值
}circularnode*
getcircularlinklist_node
(circularlinklist* clist,
int value)
do node = node->next;
}while
(node!=clist->next)
;return
null;}
void
show_circularlinklist
(circularlinklist* clist,circularnode* node)
circularnode* orignode = node;
dowhile
(node != orignode);}
"#ifndef _circularlist_h
#define _circularlist_h
#include
#include
#include
//注意:帶有頭結點的迴圈鍊錶,尾節點的指標域同樣指向第乙個結點,而不是頭結點!
typedef
int datatype;
//迴圈鍊錶的結點
typedef
struct circularnode
circularnode;
//迴圈鍊錶的結構
typedef
struct circularlinklist //頭節點
circularlinklist;
extern
void
insertcircularlinklist
(circularlinklist* clist,
int pos,
int value)
;extern
void
printcircularlinklist
(circularlinklist* clist)
;extern
intdelcircularlinklist_node
(circularlinklist* clist,
int pos)
;extern
void
show_circularlinklist
(circularlinklist* clist, circularnode* node)
;extern circularnode*
getcircularlinklist_node
(circularlinklist* clist,
int value)
;#endif
#include
"circularlist.h"
intmain
(void
)printcircularlinklist
(clist1)
;//列印節點
k=getcircularlinklist_node
(clist1,3)
;show_circularlinklist
(clist1, k)
;//通過第三個節點的位址遍歷節點
delcircularlinklist_node
(clist1,5)
;//刪除值為5的節點
printf
("\n");
printcircularlinklist
(clist1)
;//遍歷節點
system
("pause");
return0;
}
鍊錶的常見操作
include include includeusing namespace std typedef struct nodetype node typedef struct dnodetype dnode 建立單鏈表 node createlist node head node current he...
鍊錶的常見操作
鍊錶是資料結構的重要內容,在電腦程式中應用廣泛,同時也是各公司筆試題目的重點。以下簡單實現了鍊錶的一些操作,包括建立 增加節點 刪除節點 單鏈表逆置 合併有序鍊錶等。一 鍊錶建立 鍊錶主要有三種形式,包括單鏈表 雙鏈表和迴圈鍊錶。單鏈表每個節點只包含乙個後驅指標,雙鏈表節點同時包含乙個前驅指標和乙個...
鍊錶的常見操作
鍊錶是資料結構的重要內容,在電腦程式中應用廣泛,同時也是各公司筆試題目的重點。以下簡單實現了鍊錶的一些操作,包括建立 增加節點 刪除節點 單鏈表逆置 合併有序鍊錶等。一 鍊錶建立 鍊錶主要有三種形式,包括單鏈表 雙鏈表和迴圈鍊錶。單鏈表每個節點只包含乙個後驅指標,雙鏈表節點同時包含乙個前驅指標和乙個...