void creat(struct link *head)
創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,先為海原等服務(wù)建站,海原等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為海原企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
把head[1]全改為head
就一個元素為什么要定義一個數(shù)組 凡是后面[1]的都改了
因為如果是L的話,就要把整個這個結(jié)構(gòu)體都傳過去,效率不高,而用其指針傳遞的只是一個地址,效率要高很多,尤其對于大型程序來說。而且creat函數(shù)里有*L,這就是指向結(jié)構(gòu)體了,剛好需要傳指向結(jié)構(gòu)體 的指針,所以只能取址L,說白了 一個穿的是指針,而一個傳的是結(jié)構(gòu)體,效率高下之分一看就知道
struct list *createlist(int data[], int n)
{
//輸入一個數(shù)組,n是數(shù)組的大小,返回一個內(nèi)容相同的鏈表
struct list *head = 0, *p, *q;//head:鏈表頭
int i;
head = (struct list *) malloc(sizeof(struct list));//建立鏈表頭,分配空間
head-data = data[0];//往鏈表頭填入數(shù)據(jù)data[0]
p = q = head;//這些是循環(huán)變量,p先走,q跟著,倆人從鏈表頭一直走到鏈表尾
//每次循環(huán),p和q一開始指向鏈表末尾的節(jié)點上。 p先走,malloc函數(shù)改變了他的值,他指向了一塊新的內(nèi)存空間,就是新的節(jié)點;然后q-next=p把新連起來;然后 q跟上p的步伐,q=p,相當(dāng)于二者又站在了末尾的節(jié)點上。
for(i=1; in; i++)
{
p = (struct list *) malloc(sizeof(struct list));//p變成一個新的節(jié)點,給p分配空間(注意p的值被改寫了,它不再是head,而是一個新的值,就是下一個節(jié)點)
p-data = data[i];//p裝入數(shù)據(jù),第一次循環(huán)它裝入的是data[1],也就是緊跟著head的那個
q-next = p;//第一次循環(huán)q是head,以后每次都是q落后p一個格子。
//第一次循環(huán)相當(dāng)于head-next=p,把第1個節(jié)點放在第0個節(jié)點后面。
q = p;
//第一次循環(huán)q=p,q追上p的腳步,離開head(第0
//第二次循環(huán)q=p,p又變成新的節(jié)點,相當(dāng)于把第2個節(jié)點(p)放在第一個節(jié)點后面
}
p-next = NULL;//封鎖野指針
return head;
}
不懂歡迎追問
#include stdio.h
#include malloc.h
#include string.h
#define N 5
typedef struct node
{
char number[10];
int data;
struct node *next;
}node;
node * create()
{
node *p,*s,*h; char number[10];
int j=1,x;
p=s=h=(node*)malloc(sizeof(node));
h-next=NULL;
printf("please input the data to create the list,end with -1 or %d numbers\n",N);
while(x!=-1j=N)
{
printf("input name:");
scanf("%s",number);
printf("input age:");
scanf("%d",x);
s=(node*)malloc(sizeof(node));
s-data=x;
strcpy(s-number,number);
if(h-next==NULL)
h-next=s;
else
p-next=s;
p=s;
j++;
}
p-next=NULL;
return h;
}
int main()
{
node *p;
p=create() ;
return 0;
}
本文標(biāo)題:c語言鏈表creat函數(shù),C語言鏈表函數(shù)
本文路徑:http://jinyejixie.com/article44/dssephe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、云服務(wù)器、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)