线性表根据其在内存中的物理存储方式分为顺序存储结构和线性存储结构。除第一个元素外,每个元素有且仅有一个直接前驱;除最后一个元素外,每个元素有且仅有一个直接后续
线性表的特点有:
表中元素的个数有限
表中元素具有逻辑上的顺序性,表中元素有其先后次序
表中元素都是数据元素,每个元素都是单个元素
表中元素的数据类型都相同,意味着每个元素占有大小相同的存储空间
&的作用可以是 取地址符和引用符号
InitList(&L) 初始化表,构造一个新的线性表
Length(L) 求表长
LocateElem(L,e)按值查找操作,在表L中查找给定关键字值的元素
GetElem(L,i)按位查找操作,获取表L中第i个位置的元素的值
ListInsert(&L,i,e)插入操作,在第i个位置插入e
ListDelete(&L,i,&e) 删除操作,删除表L中第i个位置的元素,并用e返回删除元素的值
PrintList(L) 输出操作,按前后顺序输出线性表L中的所有元素值
Empty(L)判空操作,若L为空表,则返回true 否则返回false
DestoryList(&L) 销毁操作,销毁线性表,释放线性表占用的内存空间
线性表的顺序存储又称为顺序表,用一组地址连续的存储单元依次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素在物理位置上也相邻。第一个元素存储在顺序表中的起始位置。顺序表的特点是表中元素的逻辑顺序与其存储的物理顺序相同
sizeof(ElemTye)是每个数据元素所占用存储空间的大小
顺序表中的任意一个数据元素都是可以随机存取的,所以线性表的顺序存储架构是一种随机存取的存储结构,通常用高级程序设计语言中的数组来描述线性表中的顺序存储结构
静态分配的顺序表存储结构为
include <iostream>
using namespace std;
define MaxSize 50
typedef int ElemType;
struct Sqlist{
ElemType data[MaxSize];
int Length;
};
void InitList (Sqlist &L){
L.Length=MaxSize;
for (int i=0;i<MaxSize;i++){
L.data[i]=i;
}
}
void Print(const Sqlist &L){
for(int i=0;i<L.Length;i++){
cout << L.data[i] << " ";
}
cout << endl;
}
int main(){
Sqlist myList;
InitList(myList);
Print(myList);
return 0;
}
写一个最简单的C++代码
写几点c++的基础语法和结构:头文件选择 iostream 用cin/cout代替 scanf/printf
分号不能忘记,每条语句后面都需要加上分号
main函数必须返回Int
typedef int ElemType; 和 using ElemType = int; 这两句话的含义是一样的