22
来源:互联网 发布:维启软件 编辑:程序博客网 时间:2024/05/22 10:48
问题
设线性表存在于A[1...size]的前num各分量中,且递增有序,请设计一个算法,将X插入线性表的适当位置上,以保持线性表的有序性。
分析
递增有序,二分查找看看有没有该元素,没有的话插入到适当位置
代码
void binarySearchInsertList(SqList &l, int n) { ///线性表l存储递增有序的元素,从1开始存储, n是要插入的数 int low = 1, high = l.length, mid, flag = 1; while(low <= high) {///二分查找 mid = (low + high) / 2; if(n < l.data[mid]) { high = mid - 1; }else if(n > l.data[mid]) { low = mid + 1; }else {///存在n 跳出 flag = 0; break; } } if(flag == 1) {///不存在n 则low就是n要插入的位置 for(int i = l.length + 1; i > low; i--) {///移动元素 l.data[i] = l.data[i - 1]; } l.data[low] = n;///插入元素 l.length++;///l的长度加1 }}
源代码
http://123.206.59.223:8080/code/code/22.rar
0 0
- 22
- 22
- 22
- 22
- 22
- 22
- 22
- 22
- 22
- 22
- 22
- 22
- 22
- 22
- 22
- 22
- 22
- 22
- [闲聊]搜索素数的一个方法
- elasticsearch 重启后,需要的操作
- hdu5908 Abelian Period 暴力 小小小小的优化
- opencv 学习之 图像色偏、清晰度、亮度检测
- 序列号SYN+确认号ACK
- 22
- OpenGL学习脚印:几何着色器(geometry shader)
- 正则表达式(1)---JavaScript
- ubuntu创建桌面快捷方式步骤和注意事项
- 淘淘商城的实践(3)——图片服务器部署和前台工程
- 【DP】 noi openjudge 2.6 山区建小学
- 使用bat(批处理文件)执行Java程序
- Numeric Keypad
- 2016.10.02