乙個應用單鏈表基本演算法的綜合程式

2021-04-21 01:44:33 字數 792 閱讀 8101

#include

#include

#include

#define n 10

typedef struct node

stud;

stud * creat(int n)

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

h->link=null;

p=h;

for(i=0;ilink=s;

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

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

s->link=null;

p=s;

}return(h);

}stud * search(stud *h,char *x)

if(p==null)

printf("沒有查詢到該資料!");

}stud * search2(stud *h,char *x)

}if(p==null)

printf("沒有查詢到該資料!");

}void insert(stud *p)

printf("/n請輸入你要插入的人的姓名:");

scanf("%s",stuname);

strcpy(s->name,stuname);

s->link=p->link;

p->link=s;

}void del(stud *x,stud *y)

void print(stud *h)

}void quit()

void menu(void)

main()}}

反轉乙個單鏈表

思路二 反轉乙個鍊錶 示例 結構體定義 先對原鍊錶做頭刪操作,再對新鍊錶做頭插定義乙個新head頭指標,標記為newhead,將它初始為null,並非指向null,最後我們選擇返回這個newhead指標作為新鍊錶的頭指標。定義乙個結點node作為 臨時中轉站 初始化與否並無大影響。進行迴圈遍歷鍊錶各...

定義乙個單鏈表

鍊錶是一種物理儲存結構上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的 鍊錶是由乙個乙個的節點相連線的,每乙個節點都是乙個物件,都有兩個屬性 data,next 根據鍊錶的結構可以分為 1.帶頭 不帶頭 2.單向 雙向 3.迴圈 非迴圈 這些組合起來就有8種結構 編寫乙...

反轉乙個單鏈表

反轉乙個單鏈表。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null高階 你可以迭代或遞迴地反轉鍊錶。你能否用兩種方法解決這道題?解題心路 迭代好說,遞迴 第一思路將後面的全部翻轉好,再將最後乙個元素的next指向當前。返回最後乙個元素的指標,那就有 當前節點指標 head ...