1146: 零起点学算法53——数组中插入一个数
Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 1749 Accepted: 613
[ Submit ][ Status ][ Web Board ]
Description
给定有序数组(从小到大),再给你一个数,要求插入该数到数组中并保持顺序
Input
多组测试,每组第一行输入一个整数n,然后是n个有序的整数
第二行输入1个整数m和1个整数K
Output
将整数m插入到原数组中保持顺序是升序,然后输出2行
第一行是插入以后的数组
第二行是插入以后的数组中下标值是K的数
n m k不超过20
Sample Input
3 1 2 5 3 1
Sample Output
1 2 3 5 2
Source
零起点学算法
1 #include<stdio.h> 2 int main(){ 3 int n,a[ 50 ],b[ 50 ]; 4 while (scanf( " %d " ,&n)!= EOF){ 5 for ( int i= 0 ;i<n;i++ ){ 6 scanf( " %d " ,& a[i]); 7 } 8 9 int m,k,j= 0 ; 10 scanf( " %d%d " ,&m,& k); 11 for ( int i= 0 ;i<n;i++ ){ 12 if (a[i]< m){ 13 b[j]= a[i]; 14 j++ ; 15 } 16 else break ; 17 } 18 b[j]= m; 19 j++ ; 20 for ( int i=j- 1 ;i<n;i++ ){ 21 b[j]= a[i]; 22 j++ ; 23 } 24 25 for ( int i= 0 ;i<j- 1 ;i++ ){ 26 printf( " %d " ,b[i]); 27 } 28 printf( " %d\n " ,b[j- 1 ]); 29 printf( " %d\n " ,b[k]); 30 } 31 return 0 ; 32 }
查看更多关于1146: 零起点学算法53——数组中插入一个数的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did238299