C语言顺序表
结构体声明:
1 2 3 4 5 | typedef struct Listable{ //声明结构体 int * head; int length; int size; }listable; |
顺序表的创建:
1 2 3 4 5 6 7 8 9 10 11 12 | //创建顺序表函数 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; } |
案例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #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; } |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步