📄 sortsearchinsert.java
字号:
import java.util.Arrays;
public class SortSearchInsert {
public static void main(String args[]) throws Exception {
int i_array[] = { 2, 4, -2, 6, -3, 0,8, -5, -9, 5 }; // 整数数组
float f_array[] = {4.5f, -5.3f, 0, 2.1f, -7, 1.5f}; // 浮点数数组
System.out.println("演示整数排序、查找、插入排序");
System.out.println("演示整数排序");
printArray(i_array);
Arrays.sort(i_array);
System.out.println("排序结果如下");
printArray(i_array);
System.out.println("演示二分查找");
int index = Arrays.binarySearch(i_array, 2);
System.out.println("在数组中找到2,其位置=" + index);
index = Arrays.binarySearch(i_array, 1);
System.out.println("在数组中没有找到1,二分查找方法返回结果" + index);
System.out.println();
System.out.println("演示插入");
int newIndex = -index - 1;
System.out.println("在数组 " + index + " 处插入元素8");
i_array = insertElement(i_array, 8, newIndex);
System.out.println("插入后,数组如下");
printArray(i_array);
System.out.println();
System.out.println("下面演示浮点数排序、查找、插入");
System.out.println("演示浮点数排序");
printArray(f_array);
Arrays.sort(f_array);
printArray(f_array);
System.out.println("演示浮点数二分查找");
index = Arrays.binarySearch(f_array, -7);
if (index < 0)
System.out.println("查找 -7.0 失败");
else
System.out.println(" -7.0 " + "在数组中找到,其位置为" + index );
index = Arrays.binarySearch(f_array, 5.5f);
if (index < 0)
System.out.println("查找 5.5f 失败");
else
System.out.println(" 5.5f位于数组 " + index);
System.out.println("演示浮点数插入");
System.out.println("在数组中插入元素8.2f后");
newIndex = -index - 1;
f_array = insertElement(f_array, 8.2f, newIndex);
printArray(f_array);
} // main方法结束
// 打印整型数组
private static void printArray(int array[]) {
for (int i = 0, n = array.length; i < n; i++) {
if (i != 0)
System.out.print(", ");
System.out.print(array[i]);
} // for结束
System.out.println();
} // printArray方法结束
// 打印浮点数数组
private static void printArray( float array[]) {
for (int i = 0, n = array.length; i < n; i++) {
if (i != 0)
System.out.print(", ");
System.out.print(array[i]);
} // for 结束
System.out.println();
} // printArray方法结束
// 在整型数组中插入
private static float[] insertElement(float original[], float element, int index) {
int length = original.length;
float destination[] = new float[length + 1];
System.arraycopy(original, 0, destination, 0, index);
destination[index] = element;
System.arraycopy(original, index, destination,
index + 1, length - index);
return destination;
} // insertElement方法结束
// 在浮点数组中插入
private static int[] insertElement(int original[], int element, int index) {
int length = original.length;
int destination[] = new int[length + 1];
System.arraycopy(original, 0, destination, 0, index);
destination[index] = element;
System.arraycopy(original, index, destination,
index + 1, length - index);
return destination;
} // insertElement方法结束
} // 类SortSearchInsert结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -