动态顺序表的基本功能(c语言实现)

#include<stdio.h>
#include<stdlib.h>
#define Initsize 10//长度的初始定义 
//#define Maxsize 10	//最大长度 
#define addlen 5

int i;

//静态定义顺序表 
//typedef struct{
//	int date[Maxsize];//顺序表元素 
//	int length;	//顺序表长度 
//}SqList;

//动态定义顺序表 
typedef struct{
	int *data;		//顺序表的数据元素 
	int length,Maxsize;		//最大范围和长度 
}SeqList;

//静态定义顺序表
//typedef strucst{
//	int arr[Maxsize]
//	int length;
//}SqList; 

//初始化顺序表
void Initial(SeqList *p){
	p->data = (int*)malloc(sizeof(int)*Initsize);//动态初始化最重要的一步,开辟连续的空间 
	p->Maxsize = Initsize;
	p->length = 0;
} 
//将顺序表加长  1、开辟空间 2、复制元素  3、最大长度加长 4、释放空间 
void incrlen(SeqList *p,int len){
	int *temp = p->data;
	p->data = (int*)malloc(sizeof(int)*(p->length + len));
	for(i = 0;i < p->length;i++){
		p->data[i] = temp[i];	//元素的复制 
	}
	p->Maxsize = p->Maxsize + len;	//最大长度加长 
} 

//增加元素
int add(SeqList *p,int num){
	int temp = p->length;
	if(p->length &l
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值