数据结构学习---线性表顺序存储结构的应用(二):插入操作
来源:互联网 发布:找工作it 编辑:程序博客网 时间:2024/04/29 16:37
顺序表的插入操作:线性表非递减排序,插入一个元素后,使排序仍按照非递减
基本思路:检验插入元素与线性表元素的大小,寻找到合适的位置即插入,注意当插入元素大于最后一个元素和小于第一个元素时,需要单独讨论
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;}
阅读全文
1 0
- 数据结构学习---线性表顺序存储结构的应用(二):插入操作
- 数据结构学习---线性表顺序存储结构的应用(一):删除操作
- 数据结构学习---线性表顺序存储结构的应用(三):融合排序操作
- 数据结构学习---线性表顺序存储结构的基本操作
- 数据结构与算法-线性表顺序存储结构插入操作的实现
- 数据结构一一线性表的顺序存储结构之插入操作
- 【数据结构】线性表的顺序存储结构
- 【数据结构】线性表的顺序存储结构
- 数据结构:线性表(顺序存储结构)
- 数据结构学习之路----------线性表顺序存储结构插入和删除节点平均移动次数
- 线性表的顺序存储结构(二)
- 线性表顺序存储结构的操作
- 线性表顺序存储结构的操作
- 数据结构之线性表的顺序存储结构(数组)的插入与删除
- 线性表(顺序存储结构)的基本操作
- 数据结构之线性表的顺序结构操作2-(删除,插入,查值等)
- 编程实现顺序存储结构和链式存储结构线性表的建立、查找、插入、删除等基本操作
- 数据结构与算法-线性表顺序存储结构删除操作的实现
- 用DOS写一个简单的虚拟WIFI工具,启动无线承载网络,自动配置实现共享
- Macbook pro升级系统后打开软件显示“已损坏,打不开”的解决方法。
- 通俗易懂RESTful,如何设计RESTful风格API
- 十行代码搞定无限极分类
- 【BZOJ2875】随机数生成器(矩阵快速幂)
- 数据结构学习---线性表顺序存储结构的应用(二):插入操作
- 【css学习笔记】理解利用css的border属性制作三角形的原理
- 子网掩码换算和子网的划分详解
- [P3939]数颜色
- CentOS下的sudo相关配置的总结归纳
- angular创建独立scope及绑定策略
- iOS监听音量调节事件
- git发出请求实现集成
- Poi 导入