資料結構之單鏈表常見操作 C

2021-07-09 11:54:48 字數 2365 閱讀 8027

#include

#include

#include

#define n 15

typedef struct node

node,*linklist;

//初始化單鏈表

int creat_list(linklist *

list)

(*list)->next =

null;

return1;}

/*頭插建表*/

void head_insert_list(linklist *

list)

}/*求出單鏈表長度*/

int list_length(linklist list)

return count;

}/*尾插*/

void tail_insert_list(linklist *

list)

p->next =

null;

}/*第i處插入乙個元素*/

int insert_i_list(linklist*

list, int i, int elem)

if (p!=

null)

else

return1;}

/*鍊錶刪除某個元素*/

int delete_elem(linklist *

list, int elem)

else

p = p->next;

if (p ==

null)}}

return1;}

void print_list(linklist list)

printf("\n");

}/*獲取單鏈表指定位置的元素*/

int get_i_elem(linklist list, int n)

while (p->next !=

null)

if (null

== p)

else

}return1;}

//鍊錶置為空表

int empty_list(linklist*

list)

p =null;

(*list)->next =

null;

return0;}

/*單鏈表倒數第n個數*/

int get_daoshu_n(linklist list, int n)

while (p !=

null)

}printf("倒數第%d個數是%d\n",n, q->

data);

return1;}

/*標尺--鍊錶中間結點*/

int find_mid_node(linklist list)

while (q->next !=

null )

else

}printf("中間結點:%d \n",p->

data);

return1;}

/*逆置1*/

int reverse_list_1(linklist list)

linklist pcur = (list)->next;/*第乙個結點*/

linklist pnext = pcur->next;

linklist prev ;

pcur->next =

null;/*!!!!!將第乙個結點的後繼置為0*/

while (pnext !=

null)

(list)->next = pcur;/*煉表頭結點指向pcur*/

return1;}

/*逆置2*/

int reverse_list_2(linklist list)

pcur =

list

->next;

while (pcur->next !=

null)

return1;}

/*刪除重複元素*/

int delete_dup_elem(linklist list)

p =list

->next;

while (p !=

null)

else

}p = p->next;

}return1;}

/*單鏈表第n個位置建環*/

int build_loop(linklist *

list, int n)

while (cur->next !=

null)

}while (tail->next!=

null)

tail->next = cur;

return1;}

void main()

資料結構之單鏈表操作

編寫乙個程式,實現單鏈表的各種基本運算 假設單鏈表的元素型別為char 1 初始化單鏈表h 2 採用尾插法依次插入元素a,b,c,d,e 3 輸出單鏈表h 4 輸出單鏈表h長度 5 判斷單鏈表h是否為空 6 輸出單鏈表h的第3個元素 7 輸出元素a的位置 8 在第4個元素位置上插入元素f 9 輸出單...

C資料結構 單鏈表操作

單鏈表的一些操作函式 參考自 程杰 大話資料結構 巨集定義 define ok 1 define error 0 typedef int elemtype typedef int status 結構體 線性單鏈表儲存結構 typedef struct node node typedef struct...

資料結構之單鏈表 c

templatestruct node node t x,node next null templateclass linklist 1 預設建構函式 templatelinklist linklist 建構函式1 2 有參建構函式 templatelinklist linklist t a,int...