當前位置:編程學習大全網 - 源碼下載 - 數據結構 用C語言實現順序表的建立及遍歷

數據結構 用C語言實現順序表的建立及遍歷

#include?<stdio.h>

#include?<malloc.h>

typedef?struct?nlist

{

int?*np;

int?len;//已使用地址個數

int?maxlen;//最大地址個數

}NLT;

NLT?*createlist();//創建順序表

int?addtolist(NLT?*nlist);//向順序表插入元素

void?pList(NLT?*nlist);//遍歷順序表

int?main()

{

int?i;

NLT?*nlist=createlist();

if(nlist)

{

for(i=0;i<nlist->maxlen;i++)

addtolist(nlist);

pList(nlist);

}

return?0;

}

void?pList(NLT?*nlist)//遍歷打印,空格分割,最後壹個數後面沒有空格

{

int?i;

for(i=0;i<nlist->len-1;i++)

printf("%d?",nlist->np[i]);

printf("%d",nlist->np[nlist->len-1]);

}

NLT?*createlist()

{

NLT?*nlist=NULL;

nlist=(NLT?*)malloc(sizeof(NLT));

scanf("%d",&nlist->maxlen);

nlist->np=(int?*)malloc(sizeof(int)*nlist->maxlen);

if(!nlist?||?!nlist->np)

{

printf("內存申請失敗!\n");

return?NULL;

}

nlist->len=0;

return?nlist;

}

int?addtolist(NLT?*nlist)

{

if(nlist->len<nlist->maxlen)//如果存儲空間未滿,保存元素,保存成功返回1?失敗返回0

{

scanf("%d",&nlist->np[nlist->len]);

nlist->len++;

return?1;

}

else?//這裏可以寫當存儲滿的之後,空間擴容,本題用不到所以我不寫了

return?0;

}

  • 上一篇:有什麽辦法可以獲得免費的高清壁紙?
  • 下一篇:遊戲編程相關的好書有哪些推薦
  • copyright 2024編程學習大全網