3.2【设计型】有一个已排好序的数组(如{5, 12, 22, 34, 45, 55, 67, 78, 89, 98}),要求输入一个数后,按原来排序的规律将它插入到该数组中,然后求采用二分法查找新插入的数所在位置(下标)。假设:所有的数都互不相同。
1条回答 默认 最新
- 高棱 2021-11-10 17:42关注
看下这个代码,稍加修改就可以实现你的功能了。
#include <iostream> #include <string.h> using namespace std; void rnk(int x[20],int n) { int p = 0; for (int i = 0; i < n; i++) { for (p = 0; p < n-1-i; p++) { if(x[p] > x[p + 1]) { int tmp = 0; tmp = x[p]; x[p] = x[p + 1]; x[p + 1] = tmp; } } } for (int i = 0; i < n; i++) { cout << x[i] << endl; } } int main() { int a[20], t, i ,n= 0; char huiche; memset(a, 0, sizeof(a)); while (cin >> t) {/*输入任意个整数(小于20个)*/ huiche=(char)t; if(huiche == '\xA')break; a[i] = t; n++; i++; } rnk(a,n); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
- ¥15 误删注册表文件致win10无法开启
- ¥15 请问在阿里云服务器中怎么利用数据库制作网站
- ¥60 ESP32怎么烧录自启动程序
- ¥50 html2canvas超出滚动条不显示
- ¥15 java业务性能问题求解(sql,业务设计相关)
- ¥15 52810 尾椎c三个a 写蓝牙地址
- ¥15 elmos524.33 eeprom的读写问题
- ¥15 用ADS设计一款的射频功率放大器
- ¥15 怎么求交点连线的理论解?