typedef struct Node{
int data;
struct Node *next;
}Node;
void initList(Node **p){
*p = (Node *)malloc(sizeof(Node));
(*p)->next = NULL;
}
Node *creatNode(int x){
Node *t = (Node *)malloc(sizeof(Node));
t->data = x;
t->next = NULL;
return t;
}
int getLength(Node *p){
Node *t = p;
int length = -1;
while(t){
length++;
t = t->next;
}
return length;
}
Node *find(Node *p, int n){
Node *t = p;
int len = getLength(p);
if(p->next){
if(n > len)
return NULL;
else if(n >= 0){
int index = 1;
while(index < n){
index++;
t = t->next;
}
return t;
}
else
return NULL;
}
else{
if(n == 0)
return t;
}
return NULL;
}
int insert(Node *p, int x, int n){
int len = getLength(p);
if(p->next){
if(n > len)
return -1;
else if(n >= 1) {
Node *q = find(p, n-1);
Node *t = creatNode(x);
t->next = q->next;
q->next = t;
return 1;
}
else
return -1;
}
else{
if(n == 1){
Node *t = creatNode(x);
p->next = t;
return 1;
}
else
return -1;
}
}
void printList(Node *p){
Node *t = p->next;
while(t){
printf("%d\n", t->data);
t = t->next;
}
}
鏈表(帶有頭節(jié)點)
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門胁澳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來该互,“玉大人韭畸,你說我怎么就攤上這事宇智。” “怎么了胰丁?”我有些...
- 正文 為了忘掉前任甘萧,我火速辦了婚禮萝嘁,結果婚禮上,老公的妹妹穿的比我還像新娘扬卷。我一直安慰自己牙言,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布怪得。 她就那樣靜靜地躺著咱枉,像睡著了一般卑硫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上庞钢,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼桐款!你這毒婦竟也來了咸这?” 一聲冷哼從身側響起,我...
- 正文 年R本政府宣布所计,位于F島的核電站,受9級特大地震影響团秽,放射性物質發(fā)生泄漏醉箕。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一徙垫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧放棒,春花似錦姻报、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽损肛。三九已至,卻和暖如春荣瑟,著一層夾襖步出監(jiān)牢的瞬間治拿,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內容
- 前沿:鏈表是面試中經常問道的知識點,比如鏈表反轉,就地反轉,判斷單鏈表是否相交,判斷鏈表是否有環(huán)等都是常問的問題....
- 虛擬頭節(jié)點 再前面的add(int index, E element)或者remove(int index)函數(shù)中...
- 引入虛擬頭節(jié)點 引入虛擬頭節(jié)點 dumyHead 使得 LinkedList 成了只包含虛擬頭節(jié)點的數(shù)據結構贯城,在初...
- 轉載:小星雪單鏈表為什么要設置頭結點 問題:在單鏈表中使用“頭結點”,這個啞結點始終是鏈表的第一個元素霹娄,這個技巧的...