C语言顺序表

结构体声明:

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;
}

 

posted @ 2018-12-21 01:11  一文搞懂  阅读(623)  评论(0编辑  收藏  举报