1.用createLinearArray()函数创造整型一维数组
//创造整型一维数组
public static int[] createLinearArray(){
Scanner sc = new Scanner(System.in);
System.out.println("创造一维整型数组容量为:");
int a = sc.nextInt();
int[] arr = new int[a];
for(int i = 0;i < arr.length;i++){
System.out.println("请输入第"+(i+1)+"个整数装入数组");
arr[i] = sc.nextInt();
}
sc.close();
return arr;
}
2.用swap()函数实现数组内值的交换
//数组内值的交换
public static void swap( int[] arr,int a,int b){
arr[a] = arr[a]^arr[b];
arr[b] = arr[a]^arr[b];
arr[a] = arr[a]^arr[b];
}
3.用show()函数实现一维数组迭代
public static void show(int[] arr){
for(int a:arr){
System.out.print(a+" ");
}
}
4.用show1()、show2()函数实现一维数组遍历
//一维数组遍历方法一
public static void show1(int[] arr){
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i]+" ");
}
}
//一维数组遍历方法二
public static void show2(int[] arr){
int a = 0;
while(a < arr.length){
System.out.print(arr[a]+" ");
a++;
}
}
5.用insertSort()函数实现一维数组插入排序
//一维数组插入排序
public static void insertSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j > 0; j--) {
if (arr[j] < arr[j - 1]) {
swap(arr, j, j - 1);//使用自定义数组内值的交换swap()函数
}
}
}
}
6.用bubbleSort()函数实现一维数组冒泡排序
//一维数组冒泡排序
public static void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr, j, j + 1);//使用自定义数组内值的交换swap()函数
}
}
}
}
7.用selectSort01()、selectSort02()函数实现一维数组选择排序
//一维数组选择排序方法1
public static void selectSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
int min = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[min]) {
min = j;
}
}
if (min != i) {
swap(arr, min, i);//使用自定义数组内值的交换swap()函数
}
}
}
//一维数组选择排序方法2
public static void selectSort02(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[i]) {
swap(arr, j, i);//使用自定义数组内值的交换swap()函数
}
}
}
}
8.用binaySearch()函数实现一维数组有序数列二分查找
//一维数组有序数列二分查找
public static int binarySearch(int[] arr,int target){
int start = 0;
int end = arr.length-1;
while(start <= end){
int middle = (start + end) >> 1;
if(target < arr[middle]){
end = middle-1;
}else if(target > arr[middle]){
start = middle+1;
}else{
return middle;
}
}
return -1;
}