线性表、顺序表

1、线性表的定义

线性表是具有相同数据类型的 n(n>=0)个数据元素的有限序列

定义一个线性表a,元素为(a1,a2,a3,a4,......,an)

a1:表头元素 an:表尾元素 在某元素前为前驱,在某元素后位后继(无数个)

其中,相邻靠前为直接前驱,相邻靠后为直接后继。

2、线性表与顺序表的区别:

线性表顺序储存;顺序表:逻辑上相邻,地址上也相邻

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是线性表顺序表的插入和删除操作的C++主函数示例: ```c++ #include <iostream> using namespace std; const int MAXSIZE = 100; // 线性表最大长度 typedef struct { int data[MAXSIZE]; // 存储元素的数组 int length; // 线性表的当前长度 } SqList; // 定义顺序表类型 // 初始化线性表 void InitList(SqList &L) { L.length = 0; } // 在指定位置插入元素 bool ListInsert(SqList &L, int i, int e) { if (i < 1 || i > L.length + 1 || L.length == MAXSIZE) // 插入位置不合法或线性表已满 return false; for (int j = L.length; j >= i; j--) // 将 i 及以后的元素后移 L.data[j] = L.data[j - 1]; L.data[i - 1] = e; // 插入元素 L.length++; // 线性表长度加 1 return true; } // 删除指定位置的元素 bool ListDelete(SqList &L, int i) { if (i < 1 || i > L.length) // 删除位置不合法 return false; for (int j = i; j < L.length; j++) // 将 i 及以后的元素前移 L.data[j - 1] = L.data[j]; L.length--; // 线性表长度减 1 return true; } int main() { SqList L; InitList(L); ListInsert(L, 1, 10); ListInsert(L, 2, 20); ListInsert(L, 3, 30); cout << "插入元素后的线性表:"; for (int i = 0; i < L.length; i++) cout << L.data[i] << " "; cout << endl; ListDelete(L, 2); cout << "删除元素后的线性表:"; for (int i = 0; i < L.length; i++) cout << L.data[i] << " "; cout << endl; return 0; } ``` 代码中使用了结构体定义顺序表类型,分别实现了初始化线性表、在指定位置插入元素、删除指定位置元素的操作。主函数中演示了插入和删除操作的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值