日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于单链表的头插法和尾插法

發布時間:2023/12/13 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于单链表的头插法和尾插法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#include<stdio.h>
#include<stdlib.h>
?typedef struct Node { ? ? ? ? //? ? ? ? 定義的鏈表類型
?? int data;
?? struct Node *next;
?? }LNode , *Linklist;

?? void print(Linklist L){??????? //這是一個將鏈表數據輸出的函數
??? Linklist tem=L;?????????
??? while(tem->next !=NULL){
??????? tem = tem->next;
??????? printf("%d\n",tem->data);
??? }
}

void creat(Linklist &L){?????????????? // 頭插法
? L = (Linklist)malloc (sizeof(LNode));
? Linklist p;?????????????????????????????????? //定義一個
? L->next=NULL;???????
? p= L->next;
? int i,n;
? printf("Input the node number:");
? scanf("%d",&n);
? for(i=0;i<n;i++){
??????? p=(Linklist)malloc(sizeof(LNode));
??????? scanf("%d",&p->data);

????????? p->next = L->next;
????????? L->next = p;
? }
}
void tail(Linklist &L){
?? L= (Linklist)malloc(sizeof(LNode));
?? Linklist end,p;
?? L->next = NULL;
?? end= L;
?? int i,n;
?? printf("Input the LNode number:");
?? scanf("%d",&n);
?? for(i=0;i<n;i++){
??? p = (Linklist)malloc(sizeof(LNode));
??? scanf("%d",&p->data);
??? end->next = p;
??? end = p;
?? }
?? end->next = NULL;

}

void merge(Linklist &La,Linklist &Lb,Linklist &Lc ){
? Linklist pa,pb,pc;
? pa=La->next; pb=Lb->next;
? Lc=pc=La;
? while(pa&&pb){
??? if(pa->data<pb->data)? {pc->next=pa;pc=pa;pa=pa->next;}
??? else {pc->next=pb;pc=pb;pb=pb->next;}
? }
? pc->next=pa?pa:pb;
? free(Lb);???? // 鏈表中的合并元素
}

main(){
? Linklist L= NULL;
? creat(L);
? print(L);? //輸出函數
}

轉載于:https://www.cnblogs.com/xiaoqiz/p/10580564.html

總結

以上是生活随笔為你收集整理的关于单链表的头插法和尾插法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。