import java.util.Arrays;
import java.util.*;
class Hello {
/**
* 在一组有序数中插入一个数
* @param ns 是一个组有序数
* @param value 需要插入到有序数中的数
*/
public static int insert(int[] ns, int value) {
int idx = 0;
for (int i = 0; i < ns.length; ++i) {
if (ns[i] >= value) { // 找到需要插入的位置
idx = i;
for (int j = ns.length - 1; j > i; --j) {
ns[j] = ns[j - 1];
}
ns[i] = value;
break;
}
}
return idx;
}
public static void main
(String[] args
) { int[] ns = { 1,3,6,9,14,16,58,99};
System.
out.
println("原始数据是:\n" + Arrays.
toString(ns
) + "\n请输入要插入的程序:"); Scanner scanner
=new Scanner
(System.
in); int value = scanner.nextInt();
int[] ns1 = ns;
ns = new int[ns1.length + 1];
for (int i = 0; i < ns1.length; i++) ns[i] = ns1[i];
int x = insert(ns, value);
System.
out.
println("After insert: " + Arrays.
toString(ns
) + "\n插入的下标是" + x
); }
}
aW1wb3J0IGphdmEudXRpbC5BcnJheXM7CmltcG9ydCBqYXZhLnV0aWwuKjsKCiBjbGFzcyBIZWxsbyB7CiAgICAvKioKICAgICAqIOWcqOS4gOe7hOacieW6j+aVsOS4reaPkuWFpeS4gOS4quaVsAogICAgICogQHBhcmFtIG5zIOaYr+S4gOS4que7hOacieW6j+aVsAogICAgICogQHBhcmFtIHZhbHVlIOmcgOimgeaPkuWFpeWIsOacieW6j+aVsOS4reeahOaVsAogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGludCBpbnNlcnQoaW50W10gbnMsIGludCB2YWx1ZSkgewogICAgICAgICAgICBpbnQgaWR4ID0gMDsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG5zLmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgIGlmIChuc1tpXSA+PSB2YWx1ZSkgeyAvLyDmib7liLDpnIDopoHmj5LlhaXnmoTkvY3nva4KICAgICAgICAgICAgICAgICAgICAgICAgaWR4ID0gaTsKICAgICAgICAgICAgICAgIGZvciAoaW50IGogPSBucy5sZW5ndGggLSAxOyBqID4gaTsgLS1qKSB7CiAgICAgICAgICAgICAgICAgICAgbnNbal0gPSBuc1tqIC0gMV07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgbnNbaV0gPSB2YWx1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGlkeDsKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgaW50W10gbnMgPSB7IDEsMyw2LDksMTQsMTYsNTgsOTl9OwoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIuWOn+Wni+aVsOaNruaYrzpcbiIgKyBBcnJheXMudG9TdHJpbmcobnMpICsgIlxu6K+36L6T5YWl6KaB5o+S5YWl55qE56iL5bqP77yaIik7CiAgICAgICAgU2Nhbm5lciBzY2FubmVyPW5ldyBTY2FubmVyKFN5c3RlbS5pbik7CiAgICAgICAgaW50IHZhbHVlID0gc2Nhbm5lci5uZXh0SW50KCk7CiAgICAgICAgaW50W10gbnMxID0gbnM7CiAgICAgICAgbnMgPSBuZXcgaW50W25zMS5sZW5ndGggKyAxXTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG5zMS5sZW5ndGg7IGkrKykgbnNbaV0gPSBuczFbaV07CiAgICAgICAgaW50IHggPSBpbnNlcnQobnMsIHZhbHVlKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkFmdGVyICBpbnNlcnQ6ICIgKyBBcnJheXMudG9TdHJpbmcobnMpICsgIlxu5o+S5YWl55qE5LiL5qCH5pivIiArIHgpOwogICAgfQogfQ==
原始数据是:
[1, 3, 6, 9, 14, 16, 58, 99]
请输入要插入的程序:
After insert: [1, 2, 3, 6, 9, 14, 16, 58, 99]
插入的下标是1