插入从小到大的整型数组
来源:互联网 发布:淘宝首页轮播图位置 编辑:程序博客网 时间:2024/05/22 06:22
老师给的一个题目,就是给定一整型数组,已经从小到大排列,然后插入一整数,要求插入的位置使得元素还是按照从小到大的顺序排列,一下是代码,不过有一点小问题,值得注意
# include<iostream>using namespace std;# define MAXLEN 30int main(){ int arr[MAXLEN] = {0}; cout << "请按照从小到大的顺序依次输入整数,按回车,Ctrl+Z再加回车结 束输入,中间不要按其他任何按键" << endl; int Len = 0; while (cin>>arr[Len]) { Len++; } cin.clear();//ctrl加z会是流失效,相当于eof,fail,用cin.clear就行 int iInsert; cout <<"请输入要插入的整数:"; cin >> iInsert; int i, j; //如果插入的数最小 if (iInsert <= arr[0]) { for (i = Len ; i >= 1; i--) { arr[i] = arr[i - 1]; } arr[0] = iInsert; Len += 1; } //如果插入的数最大 else if (iInsert >= arr[Len - 1]) { arr[Len] = iInsert; Len += 1; } //插入的数在中间 else { for (i = 0; i < Len; i++) { if (arr[i] <= iInsert&&iInsert < arr[i + 1]) break;//到这里就退出循环 } //要在i+1处插入 for (j = Len ; j >= i + 2; j--) { arr[j] = arr[j - 1]; } arr[i+1] = iInsert; Len += 1; } cout << "插入后数组为:" << endl; for (i = 0; i < Len; i++) cout << arr[i] << " "; cout << endl; return 0;}
之前没有加cin.clear(),结果就是直接跳过cin>>iInsert了,因为流到了结尾了(Ctrl+z),所以要重新将流设置为有效,而且输入结束必须是这样做的,如果不想输入数据了,按回车,再按Ctrl+z,再按回车
0 0
- 插入从小到大的整型数组
- `## 将一个整数插入到已经按从小到大排序好的整型数组里##
- 使用类对10个整型数组元素从小到大排序
- c#面试题 查找整型数组中重复出现次数最多的数字,次数相同数字按从小到大排序
- OJ数组之在一组从小到大的数列中插入一个数后的重新排序
- 两个从小到大的数组组合成一个从小到大的数组
- 【Java实现】给出两个整型数组,将他们合并后从小到大排序并输出
- 如何解决数组的从小到大的排序
- 如何解决数组的从小到大的排序
- 整型数组处理算法(三)把一个数组里的所有元素,插入到另一个数组的指定位置
- 找出数组从小到大的前N个数
- 写一个数组从小到大的排序
- 将一个数组按从小到大的顺序排列
- 整数数组的冒泡排序(从小到大)
- 字符串数组的冒泡排序,从小到大
- 字符串数组的冒泡排序,从小到大
- 整数数组的冒泡排序(从小到大)
- 整数数组的冒泡排序(从小到大)
- CodeForces 688C NP-Hard Problem(二分图判断)
- codeforce contest 713 #371 Div1 B
- 树莓派之VNC
- da23资源文件*
- 瀑布流三部曲之jquery
- 插入从小到大的整型数组
- vs2015中编写C语言代码出现错误:提示scanf is not safe 问题解决办法
- 初识优秀的分布式版本控制工具:Git
- jdbc连接数据库步骤(mysql、oracle、sqlserver2008)
- 关于ORACLE的DATE与MYSQL的TIMESTAMP
- 1数据库:数据库中索引的优缺点(转载)
- 二分法搜索某个数
- NYOJ 素数环(回溯法dfs)
- poj 1019 (数学计算)