数据结构学习---线性表顺序存储结构的应用(二):插入操作
2017-11-07 17:05
573 查看
顺序表的插入操作:线性表非递减排序,插入一个元素后,使排序仍按照非递减
基本思路:检验插入元素与线性表元素的大小,寻找到合适的位置即插入,注意当插入元素大于最后一个元素和小于第一个元素时,需要单独讨论
基本思路:检验插入元素与线性表元素的大小,寻找到合适的位置即插入,注意当插入元素大于最后一个元素和小于第一个元素时,需要单独讨论
void InsertOperate(int *sequence, int &len, int x) { if (x > sequence[len-1]) //插入值比最后一个大 { sequence[len] = x; len = len +1; } if(x < sequence[0])//插入值比第一个小 { for( int j = len-1; j >= 0; j--) { sequence[j+1] = sequence[j]; } sequence[0] = x; len = len +1; } for(int i = 1; i < len; i++) { if(sequence[i-1] < x && sequence[i] > x) { for( int j = len-1; j >= i; j--) { sequence[j+1] = sequence[j]; } sequence[i] = x; len = len +1; } } }附上整体程序:
//顺序表的删除操作(删除值为x的元素,假设线性表中有若干个x元素)
#include <iostream>
#include <vector>
using namespace std;
//插入元素:线性表非递减排序,插入一个元素后,使排序仍按照非递减
void InsertOperate(int *sequence, int &len, int x) { if (x > sequence[len-1]) //插入值比最后一个大 { sequence[len] = x; len = len +1; } if(x < sequence[0])//插入值比第一个小 { for( int j = len-1; j >= 0; j--) { sequence[j+1] = sequence[j]; } sequence[0] = x; len = len +1; } for(int i = 1; i < len; i++) { if(sequence[i-1] < x && sequence[i] > x) { for( int j = len-1; j >= i; j--) { sequence[j+1] = sequence[j]; } sequence[i] = x; len = len +1; } } }
void PrintElement(int *sequence, int len)
{
for(int count = 0; count < len; count++)
cout << sequence[count] << " " ;
}
int main ()
{
int len = 6;
int sequence[6] = {1,2,2,4,5,6};
int *seq = &sequence[0];
PrintElement(seq, len);
//DeleteOperate(seq,len, 2);
InsertOperate(seq, len, 3);
cout << endl;
PrintElement(seq, len);
system("pause");
return 0;
}
相关文章推荐
- 数据结构学习---线性表顺序存储结构的应用(一):删除操作
- 数据结构学习---线性表顺序存储结构的应用(三):融合排序操作
- 数据结构学习之路----------线性表顺序存储结构插入和删除节点平均移动次数
- 数据结构学习---线性表顺序存储结构的基本操作
- 编程实现顺序存储结构和链式存储结构线性表的建立、查找、插入、删除等基本操作
- 数据结构一一线性表的顺序存储结构之删除操作
- 数据结构学习笔记 --- 线性表 (应用举例)
- 学习笔记——线性表的动态分配顺序存储结构基本操作(C语言实现)
- 数据结构学习笔记 --- 线性表 (应用举例)
- 数据结构学习(三)——单链表的操作之查找、删除、插入。
- (1)顺序表的操作 ① 输入一组整型元素序列,建立线性表的顺序存储结构。 ② 实现该线性表的遍历。 ③ 在该顺序表中查找某一元素,查找成功显示查找元素,否则显示查找失败。 ④ 在该顺序表中删除或插入指
- 数据结构一一线性表的顺序存储结构之查找操作
- 算法与数据结构--实现线性表的插入操作--算法2.3
- 线性表的基本操作:插入、删除、查找等操作在顺序存储结构和链接存储结构上的算法
- 数据结构学习之线性表的顺序存储结构
- 数据结构学习(五)——循环双链表的操作之创建,插入、删除
- 数据结构--线性表 算法函数的实现(实现线性表的插入操作)
- 数据结构一一线性表的顺序存储结构之插入操作
- 第一个小应用:图片浏览器 之一 学习怎么操作文件
- 线性表的顺序存储结构的基本操作