ArrayUtil里面包含数组的基本操作,选择冒泡排序,转置,删除,插入
package com.cw.test;
public class ArrayUtil {
// 数组的转置
public static void reverse(int[] arr) {
for (int i = 0; i < arr.length / 2; i++) {
int temp = arr[i];
arr[i] = arr[arr.length - i - 1];
arr[arr.length - i - 1] = temp;
}
}
// 冒泡排序
public static void sort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// 删除数据
public static void delete(String[] arr, String name) {
int index = 0;
// 找到姓名所在的角标
for (int i = 0; i < arr.length; i++) {
if (name.equals(arr[i])) {
index = i;
}
}
// 找到数组最后一个不为空的位置
int end = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == null) {
end = i;
}
}
// 将角标index<=x<end往前挪一位
for (int i = index; i < end; i++) {
arr[i] = arr[i + 1];
}
}
// 按指定的位置插入
public static void insert(String[] arr, String name, int index) {
int end = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == null) {
end = i;
}
}
// 最后一个等于前一个,一直往前移动,直到到要插入的位置
for (int i = end; i >= index; i--) {
arr[i] = arr[i - 1];
}
arr[index] = name;
}
// 选择排序
public static void arrSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
}