数据结构C语言实现线性表(顺序实现)的初始化与基本操作

#include<stdlib.h>  
#include<stdio.h>  
#define LIST_INIT_SIZE 10 /*存储空间初始分配量*/  
#define LISTINCREMENT 10  /*存储空间分配增量*/  
  
typedef struct  sqlist
{  
  int *elem;    /*首地址*/  
  int length;   /*当前长度*/  
  int listsize; /*存储容量*/  
}sqlist;  
  
void initlist(sqlist * v)  
{/*顺序表的初始化算法*/  
  v->elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int));  //分配内存
  if(!v->elem)  
   {  
    printf("申请空间失败!!!\n");  
    exit(0);  
   }  
  else  
  {  
     v->length=0;  
     v->listsize=LIST_INIT_SIZE;  
  }  
}  
  
void setlist(sqlist* v)  
{/*利用数组建立顺序表*/  
  int y;  
  //sqlist new1;  
  printf("连续输入数据{初存10},当输入0时停止!!!\n");  
  scanf("%d",&y);  
  while(y!=0)  
   {  
     v->elem[v->length]=y;  
     v->length++;  
    if(v->length>=v->listsize)  
     {  
      v->elem=(int *)realloc(v->elem,(v->listsize+LISTINCREMENT)*sizeof(int));  
 
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值