單鏈表操作

2021-08-28 00:16:49 字數 1484 閱讀 2492

題目: 單鏈表操作

功能:   1. 建立乙個含有若干個整數的單鏈表儲存結構;

2. 輸出單鏈表各節點的值;

3. 查詢第i個結點的值,並輸出;

4. 在第i個結點之後插入乙個值為x的結點。

5. 刪除第i個結點。

#include

#include

#define len   sizeof(struct x)

struct x;

int n;

void menu()

struct x * creat()

p2->next=null;

printf("鍊錶建立成功!!");

return head;

}void print(struct x *head)

}else

printf("空鍊錶!!");

}/*struct x * del(struct x *head)   

p1=head;

while(p1->x!=a&&p1->next!=null)

if(p1->x==a)

else

printf("%d not been found!!",a);

return head;

}   按節點的值刪除 */

void find(struct x *head)

}struct x * insert(struct x *head)

p2->next=p;

p->next=p1;

}else

n++;

printf("節點插入成功!!\n");

}return head;

}struct x * del(struct x *head)

p2->next=p1->next;

}n--;

printf("節點刪除成功!!\n");

}return head;

}/*void reverse(struct x *head)

printf("已實現單鏈表的逆序!!");

} 頭插法實現逆序 */  

struct x * reverse(struct x *head)//就地逆置發實現逆序

printf("已實現單鏈表的逆序!!");

return p2;

}      

int main  ()

}getchar();getchar();

return 0;}注釋

1.可解決插入到第0個節點之後

總結1.單鏈表的逆序:

頭插法實現逆序 ()

void reverse(struct x *head)

printf("已實現單鏈表的逆序!!");

}就地逆置法實現逆序

struct x * reverse(struct x *head)

printf("已實現單鏈表的逆序!!");

return p2;

}

單鏈表操作

include include typedef struct node tag node 建立不帶頭結點的單鏈表 node createnode else p q scanf d n 函式體結束,q指標變數被釋放,不能通過head引數帶回到呼叫函式 要把head帶回到呼叫函式,要把它定義為指向指標的...

單鏈表操作

include stdio.h include malloc.h include define n 10 代表要處理的元素個數 可以誰使用者的意思修改 define ok 1 define overflow 0 typedef int elemtype typedef int status type...

單鏈表操作

這一次補上鍊表的注釋,是空閒的時候敲出來的,如果有錯,希望幫忙糾正 部分給出了詳細說明,這裡只選取了基本操作,因為更複雜的鍊錶操作太繁瑣,這裡就不寫了 如果有什麼不懂的地方,可以隨時詢問 include using namespace std typedef int elemtype struct ...