#include<stdio.h>
#include<stdlib.h>
#define InitSize 100
typedef struct { //定义一个名为Sqlist的结构体
int *data;
int MaxSize;
int length;
} Sqlist;
//初始化顺序表
void InitList(Sqlist *L) {
L->data = (int*)malloc(InitSize*sizeof(int));
L->length = 0;
L->MaxSize = InitSize;
}
//扩大表
void IncreaseList(Sqlist *L,int len) {
int *p = L->data;
L->data = (int *)malloc((InitSize+len)*sizeof(int));
for (int i = 0 ; i<L->length ; i++)
L->data[i] = p[i];
L->MaxSize = L->MaxSize + len;
free (p);
}
//在表的某个位置插入元素e
bool ListInsert(Sqlist *L,int i,int e) {
if (i<1 || i>L->length+1) //顺序表是连续的 假如表长为7则可在第8个位置插入 所以>Length+1
return false;
if (L->length >= L->MaxSize ) //表满
return false;
for (int j = L->length ; j<=i ; j--)
L->data[j]=L->data[j-1];
L->data[i-1] = e;
L->length++;
return
数据结构线性表的实现(C语言)
最新推荐文章于 2023-07-01 11:24:53 发布
本文详细介绍了如何使用C语言实现线性表数据结构,涵盖了相关概念、定义及其实现过程,包括动态内存分配、元素插入和删除等操作。通过对线性表的基本操作,帮助读者深入理解数据结构在C语言中的应用。
摘要由CSDN通过智能技术生成