單鏈表插入(完整版程式 在表頭和表尾插入演算法)

2021-07-13 19:35:03 字數 1203 閱讀 6458

#include

#include

#include

#include

#define n 3

typedef struct node

listnode;

listnode *creat(int n)

h->name[0] = '\0';

h->next=null;

p = h;

for(i = 0;iif((s=(listnode*)malloc(sizeof(listnode)))==null)

p->next = s;

printf("請輸入第%d個人的名字",i+1);

scanf("%s",s->name);

s->next = null;

p = s;

}return(h);

}void printlist(listnode *p)

}void reverse(listnode *p)

b->next = a;

p->next->next = null;

p->next=b;

}void find(listnode* head,char *t)

else }

void insert(listnode* head)

if(!strcmp(t,p->next->name))

printf("重複插入,不允許。\n");

else

}void insertattail(listnode *phead)

//pnew->name = value;

printf("請輸入要插入的字串:");

scanf("%s",pnew->name);

while(phead->next)

phead->next = pnew;

pnew->next = null;

}void insertathead(listnode *phead)

//pnew->name = value;

printf("請輸入要插入的字串:");

scanf("%s",pnew->name);

pnew->next = phead->next;

phead->next = pnew;

}void main()

這個程式是考慮存在頭結點的情況下。

迴圈單鏈表的插入刪除,與兩表的和並

迴圈單鏈表的插入刪除,與兩表的合併 include include include define error 0 define ok 1 typedef struct nodenode,linklist linklist initiallist linklist l 頭插法建立迴圈單鏈表 void ...

鍊錶 在單鏈表和雙鏈表中刪除倒數第K個節點

題目 分別實現兩個函式,乙個可以刪除單鏈表中倒數第k個節點,另乙個可以刪除雙鏈表中倒數第k個節點。要求 如果鍊錶長度為n,時間複雜度達到o n 額外空間複雜度達到o 1 解答 單鏈表 public class node public node removelastkthnode node head,...

(一)順序表和單鏈表的初始化 插入 刪除等操作

定義 define maxsize 20 線性表最長長度 typedef int elemtype 資料型別 typedef structsqlist 函式說明 順序表 initlist l 初始化 listempty l 若為空,返回true clearlist l 清空 getelem l,i,...