實現鍊錶的增刪改查
ownlinklist.cpp
#include
#include
"include/ownlinklist.h"
#include
using namespace std;
node*
init()
node*
get_elment
(node *_list,
int index)
if(i!=index+
1|| index<0)
return p;
}void
add_node_to_tail
(node *_list,node *_node)
while
(p->next)
p->next = _node;
}void
insert_node
(node *_list,node *_node,
int index)
int i =0;
while
(inext)
if(i>index)
node *temp = p->next;
p->next = _node;
_node->next = temp;
}void
delete_node
(node *_list,
int index)
node *p = _list;if(
!p->next)
int i =0;
while
(inext)if(
!p->next->next && index !=0)
p->next = p->next->next;
}void
update_node
(node *node,
int data)
void
update_node
(node *_list,
int index,
int data)
int i =0;
while
(i<=index && p->next)
p->data = data;
}int
len_of_list
(node *_list)
return i;
}void
print_list
(node *_list)
while
(p->next)
cout<<
"------\tprint the list end\t------"
<}
ownlinklist.h
#ifndef ownlinklist_h_included
#define ownlinklist_h_included
struct node
;node*
init()
;//返回頭指標
node*
get_elment
(node *_list,
int index)
;//獲取某個節點
void
add_node_to_tail
(node *_list,node *_node)
;//新增乙個節點到鍊錶尾
void
insert_node
(node *_list,node *_node,
int index)
;//插入節點
void
delete_node
(node *_list,
int index)
;//刪除節點
void
update_node
(node *node,
int data)
;//根據節點修改值
void
update_node
(node *_list,
int index,
int data)
;//根據序號修改值
intlen_of_list
(node *_list)
;//鍊錶長度
void
print_list
(node *_list)
;//列印鍊錶
#endif
// ownlinklist_h_included
main.cpp
#include
#include
"include/ownlinklist.h"
using namespace std;
intmain()
;add_node_to_tail
(_list,n);}
print_list
(_list)
; node *_node =
get_elment
(_list,1)
; cout<<
"this node is "
<<_node->data
(_node,33)
;print_list
(_list)
; node *n1 = new node
;insert_node
(_list,n1,1)
;print_list
(_list)
;delete_node
(_list,-1
);print_list
(_list)
;update_node
(_list,1,
44);print_list
(_list)
; cout<<
"the list length is "
<<
len_of_list
(_list)
}
result
------ begin print the list ------ 12
3456
78910
------ print the list end ------
this node is 2
------ begin print the list ------ 133
3456
78910
------ print the list end ------
------ begin print the list ------ 122
33345
6789
10------ print the list end ------
delete failed,index must begins with 0
------ begin print the list ------ 122
33345
6789
10------ print the list end ------
------ begin print the list ------ 144
33345
6789
10------ print the list end ------
the list length is 11
process returned 0 (0x0) execution time : 0.004 s
press enter to continue.
C 單向鍊錶
單向鍊錶 鍊錶的功能包括 向尾節點新增資料,遍歷鍊錶中的節點,在鍊錶結束時釋放所有節點 class cnode 定義乙個節點類 class csllist 定義鍊錶類csllist類 csllist m nodesum 0 pdelete null ptmp null m pheader null ...
C語言 單向鍊錶
1.c語言單向鍊錶 2.鍊錶的 增,刪,查,遍歷 author mr.long date 2015 12 1 15 24 26 include include 結構定義 struct node 函式定義 void printnode struct node head struct node addf...
C 單向鍊錶反轉
根據我的理解,我這裡用到用到三個指標 假設有如下鍊錶 新建三個指標,資訊分別如下 head curr都指向list,而 temp指向乙個空塊 然後將curr移動到下一塊鍊錶,這時將head next指向temp 最後移動temp到head,再將head移動到curr,整個過程大概就這樣 如下 nod...