C語言順序表
阿新 • • 發佈:2018-12-21
結構體宣告:
typedef struct Listable{//宣告結構體 int * head; int length; int size; }listable;
順序表的建立:
//建立順序表函式 listable establash(){ listable lt; //建立結構體變數 lt.head=(int *)malloc(Size*sizeof(int));//申請記憶體 if(!lt.head){ printf("建立失敗"); exit(0); //退出 } lt.length=0; //順序表內邊元素佔用的長度 lt.size=Size; //順序表的長度 return lt; }
案例:
#include <stdio.h> #include <stdlib.h> #define Size 10 typedef struct Listable{//宣告結構體 int * head; int length; int size; }listable; //建立順序表函式 listable establash(){ listable lt; //建立結構體變數 lt.head=(int *)malloc(Size*sizeof(int));//申請記憶體 if(!lt.head){ printf("建立失敗"); exit(0); //退出 } lt.length=0; //順序表內邊元素佔用的長度 lt.size=Size; //順序表的長度 return lt; } //初始化 void star(listable *ls){ for(int j=0;j<5;j++){ //賦值5個數 ls->head[j]=j+1; ls->length++; } } //列印順序表的值 void print(listable *li){ for(int i=0;i<li->length;i++){ printf("%d ",li->head[i]); } printf("\n"); } int main(){ listable lis=establash(); star(&lis); printf("順序表內容:"); print(&lis); printf("總長度:%d 當前長度:%d",Size,lis.length); return 0; }