顺序表
顺序表有两种分配空间方法。
第一,静态分配(因为分配了固定的空间,有时候会出现溢出问题。)
第二,动态分配(如果发生溢出问题,可以另外开辟一块空间)
静态分配
typedef struct{
int data[100];
int length;//顺序表的长度
}SqList;
动态分配
typedef struct{
int *elem;
int length;//顺序表的长度
}SqList;
顺序表的基本操作
初始化
代码实现:
void InitList(SqList &L){
//构造一个空的顺序表L
L.elem=new int[100];//为顺序表动态分配100个空间
L.length=0;//顺序表长度为0
}
创建
代码实现:
void CreateList(SqList &L){
//创建一个顺序表L
cout << "请输入元素个数:";
int n;
cin >> n;
for(int i=0;i<n;i++){
cin >> L.elem[i];//输入数据元素
L.length++;//顺序表长度加1
}
}
例子:
/* 为一个空的顺序表创建5个元素
分别为:1、2、3、4、5
并输出到屏幕上
*/
#include<iostream>
using namespace std;
typedef struct{
int *elem;
int length;//顺序表的长度
}SqList;
void InitList(SqList &L){
//构造一个空的顺序表L
L.elem=new int[100]