数据结构 单链表和顺序表中

来源:百度知道 编辑:UC知道 时间:2024/05/21 13:02:19
#include<stdio.h>
#include <stdlib.h>
#include <malloc.h>
/********顺序表的头文件****/
#define MAXSIZE 100
typedef int datatype;
typedef struct{
datatype a[MAXSIZE];
int size;
}sequence_list;
/******************************/

/***置空表 *******/
void init_sequence_list(sequence_list * slt)
{

slt->size=0;

}
/*********************************/

/*********** 插入操作*/
void insert_sequence_list(sequence_list * slt,datatype x)
{
if(slt->size==MAXSIZE)
{printf("顺序表是满的!");exit(1);}
slt->a[slt->size]=x;
slt->size=slt->size+1;
}
/************************************/

/**********打印顺序表的各结点值*******/
void print_sequence_list(sequence_list * slt)
{
int i;
if(!slt->size) printf("\n 顺序表是空的!");
else
for (i=0;i<slt->size;i

void main(){
void init_sequence_list(sequence_list *slt);
void insert_sequence_list(sequence_list *slt,datatype x);
void print_sequence_list(sequence_list *slt);
int x;

sequence_list * p=(sequence_list*)malloc(sizeof(sequence_list)); ////////////////////////////////////////////
p->size=0;///////////////////////////////////////////////////

while(1){
printf("pleast input the x:");
scanf("%d",&x);
if(x==0) break;
insert_sequence_list(p,x);
}
print_sequence_list(p);

free(p);/////////////////////////////////////////////////
}
加上了后面带/////标注的三句,
第一句malloc为指针分配内存,
第二句初始化size=0,
第三句释放内存。