#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
动态顺序表的基本功能(c语言实现)
最新推荐文章于 2024-08-26 17:03:11 发布
本文介绍了使用C语言实现动态顺序表的基本操作,包括创建、插入、删除和查找元素等。通过实例展示了如何动态管理内存,以适应数据规模的变化,同时讨论了相关数据结构的概念。
摘要由CSDN通过智能技术生成