當前位置:成語大全網 - 書法字典 - 該數據結構用C語言實現了序列表的建立和遍歷。

該數據結構用C語言實現了序列表的建立和遍歷。

#包含?& ltstdio.h & gt

#包含?& ltmalloc.h & gt

typedef?結構?nlist

{

int?* np

int?len//使用的地址數量

int?maxlen//最大地址數

} NLT;

NLT嗎?* create list();//創建順序表

int?addto list(NLT?* nlist);//將元素插入序列表

虛空?普利斯特(NLT?* nlist);//遍歷順序表

int?主()

{

int?我;

NLT嗎?* nlist = create list();

if(nlist)

{

for(I = 0;我& ltnlist-& gt;maxleni++)

addto list(n list);

pList(n list);

}

回歸?0;

}

虛空?普利斯特(NLT?* nlist)//遍歷打印,空格分割,最後壹個數字後無空格。

{

int?我;

for(I = 0;我& ltnlist-& gt;len-1;i++)

printf(“% d?,nlist-& gt;NP【I】);

printf(“% d“,nlist-& gt;NP【n list-& gt;len-1】);

}

NLT嗎?*創建列表()

{

NLT嗎?* nlist = NULL

NLT?*)malloc(西澤夫(NLT));

scanf(“% d“,& ampnlist-& gt;maxlen);

nlist-& gt;NP =(int?*)malloc(sizeof(int)* nlist-& gt;maxlen);

如果(!nlist?||?!nlist-& gt;np)

{

Printf(“內存應用失敗!\ n ");

回歸?NULL

}

nlist-& gt;len = 0;

回歸?nlist

}

int?addto list(NLT?*nlist)

{

if(nlist-& gt;len & ltnlist-& gt;maxlen)//如果存儲空間未滿,保存該元素並在保存成功後返回1?未能返回0

{

scanf(“% d“,& ampnlist-& gt;NP【n list-& gt;len】);

nlist-& gt;len++;

回歸?1;

}

不然呢?//妳可以在這裏寫,當存儲空間滿了之後,空間就會擴大,因為不需要這個話題,所以我就不寫了。

回歸?0;

}