结构体声明:
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;
}