java 数组排序面试题_Java面试宝典_基础编程练习题_数组排序插值(一)
題目
題目:有一個已經(jīng)排好序的數(shù)組。現(xiàn)輸入一個數(shù),要求按原來的規(guī)律將它插入數(shù)組中。
程序分析:首先判斷此數(shù)是否大于最后一個數(shù),然后再考慮插入中間的數(shù)的情況,插入后此元素之后的數(shù),依次后移一個位置。
代碼/**
*?@author?:xy.hero@qq.com
*?@date?:Created?in?2019-07-12?13:13
*?@description:www.jiagou1216.com
*?@modified?By:
*?@version:?$
*/
public?class?Test?{
public?static?void?main(String[]?args)?{
int[]?A?=?new?int[]{0,?8,?7,?5,?9,?1,?2,?4,?3,?12};
int[]?B?=?sort(A);
print(B);
System.out.println();
System.out.print("請輸入一個數(shù)字:");
Scanner?scan?=?new?Scanner(System.in);
int?a?=?scan.nextInt();
scan.close();
int[]?C?=?insert(a,?B);
print(C);
}
//選擇排序
private?static?int[]?sort(int[]?A)?{
int[]?B?=?new?int[A.length];
for?(int?i?=?0;?i?
int?min?=?A[i];
for?(int?j?=?i?+?1;?j?
if?(min?>?A[j])?{
int?temp?=?min;
min?=?A[j];
A[j]?=?temp;
}
B[i]?=?min;
}
}
B[A.length?-?1]?=?A[A.length?-?1];
return?B;
}
//打印
private?static?void?print(int[]?A)?{
for?(int?i?=?0;?i?
System.out.print(A[i]?+?"?");
}
//插入數(shù)字
private?static?int[]?insert(int?a,?int[]?A)?{
int[]?B?=?new?int[A.length?+?1];
for?(int?i?=?A.length?-?1;?i?>?0;?i--)
if?(a?>?A[i])?{
B[i?+?1]?=?a;
for?(int?j?=?0;?j?<=?i;?j++)
B[j]?=?A[j];
for?(int?k?=?i?+?2;?k?
B[k]?=?A[k?-?1];
break;
}
return?B;
}
}
輸出
0 1 2 3 4 5 7 8 9 12
請輸入一個數(shù)字:6
0 1 2 3 4 5 6 7 8 9 12
總結(jié)
以上是生活随笔為你收集整理的java 数组排序面试题_Java面试宝典_基础编程练习题_数组排序插值(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dosbox进行debug调试教程
- 下一篇: K3梅林刷机方法