编写一个程序,将输入的数据插入到一个已按升序排好的数组中,要求插入后的数组仍然按升序排列。已定义假定输入已排序好的6个数,1,2,3,5,6,7,插入4,输出1,2,3,4,5,6,7
#includeintmain(){inta[10],i;printf("输入已排序好的6个数:");for(i=0;i<6;i++)scanf("%d",&a[i]);printf("已排序好的数组为:");for(i=0;i<6;i++)printf("%d",a[i]);intx,j,k=0;printf("插入的数是:");scanf("%d",&x);if(x>a[5])a[6]=x;else{for(j=0;j<6;j++)if(xj;k--)a[k]=a[k-1];a[j]=x;}printf("新的数组为:");for(j=0;j<7;j++)printf("%5d",a[j]);printf("");return0;}[/i][/i]
举一反三
- 编写一个程序,将输入的数据插入到一个已按升序排好的数组中,要求插入后的数组仍然按升序排列。
- 【程序改错】功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。1
- 编程序,输入 10 个整数存入一维数组,然后将数组前5个元素对折重新存放到数组后5个元素中,再输出。 示例 输入格式 0 1 2 3 4 5 6 7 8 9 输出格式 0 1 2 3 4 4 3 2 1 0
- 求二维数组a[4][4]主对角线元素之和。 如输入二维数组: 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 输出结果:
- 将{5, 2, 7, 3, 4, 1, 6}依次插入初始为空的二叉搜索树。则该树的后序遍历结果是 A: 1, 2, 3, 4, 6, 7, 5 B: 1, 4, 2, 6, 3, 7, 5 C: 1, 4, 3, 2, 6, 7, 5 D: 5, 4, 3, 7, 6, 2, 1
内容
- 0
请通过冒泡排序法对整数数组{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }实现升序排序
- 1
对以下数据序列利用快速排序进行排序,速度最快的是( )。 A: {1, 2, 3, 4, 5, 6, 7} B: {7, 6, 5, 4, 3, 2, 1} C: {4, 1, 2, 3, 5, 6, 7} D: {4, 2, 1, 3, 6, 5, 7}
- 2
已知数组int num[10] = {1, 3, 5, 7, 9},要将数值6插入数组中,并且保持数组前6个数按从小到大的顺序排列,则6将会插入在下标为______的位置上,有_______个数因为比6大而需要往后挪。 A: 3 3 B: 2 3 C: 3 2 D: 2 2 E: 4 2 F: 4 3
- 3
对于如下数组:67 98 45 78 23 56 14 77使用索引排序,则辅助用的索引数组最后可以是 _______________ A: 6 4 2 5 0 7 3 1 B: 4 7 2 6 1 3 0 5 C: 4 7 2 6 1 5 0 3 D: 0 7 3 1 6 4 2 5
- 4
对待排序列{4 3 7 1 2 8 6 5 }进行一趟快速排序后的结果是( ) A: {1 2 3 4 5 6 7 8} B: {2 3 1 4 7 8 6 5} C: {1 2 3 4 7 8 6 5} D: {2 3 1 4 5 6 7 8}