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

本文介绍了使用C语言实现动态顺序表的基本操作,包括创建、插入、删除和查找元素等。通过实例展示了如何动态管理内存,以适应数据规模的变化,同时讨论了相关数据结构的概念。
摘要由CSDN通过智能技术生成
#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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值