Java十大经典排序算法的实现图解
316
2022-08-20
Java深入浅出数组的定义与使用下篇
接着上一篇继续,老铁们
1.检查数组的有序性
给定一个整型数组, 判断是否该数组是有序的(升序)
public static boolean isUp(int[] array){
for (int i = 0; i if(array[i]>array[i+1]){ return false; } } return true; } public static void main(String[] args) { int[] array = {12,13,14,15,16,17,18}; System.out.println(isUp(array)); } } 打印结果: 2.数组排序(冒泡排序) public class TestDemo { public static void bubbleSort(int[] array){ for (int i = 0; i boolean flg = false; for (int j = 0; j if(array[j]>array[j+1]){ int tmp = array[j]; array[j] = array[j+1]; nynbRKd array[j+1]= tmp; flg = true; } } if(flg = false){ return; } } } public static void main(String[] args) { int[] array = {12,1,23,15,16,13,17}; bubbleSort(array); System.out.println(Arrays.toString(array)); } } 打印结果: java对数组排序函数: 填充函数: 这个函数后面还能跟三个参数: 一般情况都是左闭右开的 [2,6)形式 3. 给定一个整型数组 将所有的偶数放在前半部分, 将所有的奇数放在数组后半部分 public static void func(int[] array){ int i = 0; int j = array.length - 1; while(i while(i < j && array[i] % 2 == 0){ i++; } while (i < j && array[j] % 2 != 0){ j--; } int tmp = array[i]; array[i] = array[j]; array[j] = tmp; } } public static void main(String[] args) { int[] array = {1,4,3,6,8,5,9}; func(array); System.out.println(Arrays.toString(array)); } 打印结果: 4.数组的拷贝 第一种: 把一个数组的值拷贝到另一个数组 public static int[] copyArray(int[] array){ int[] copy = new int[array.length]; nynbRKd for (int i = 0; i copy[i] = array[i]; } return copy; } public static void main(String[] args) { int[] array = {1,4,6,3,8,9}; int[] ret = copyArray(array); System.out.println(Arrays.toString(ret)); } 打印结果: 第二种: 拷贝数组(本身)函数 打印结果: 还可以长度乘2,但不是在原来的基础上扩大2倍,这里是一个新的对象 拷贝数组(一部分 )函数: 所有的Java里面的源代码from,to都是左闭右开区间的 第三种: 打印结果: 第四种拷贝: 5. 定义二维数组 二维数组的三种定义方法: 2行3列的二维数组 6.打印二维数组 二维数组相当于一个特殊的一维数组 第一种: 第二种: 第三种: 打印结果: Java二维数组的特殊化 第一种: 打印结果: 第二种: 分析原因: 第三种: 为什么Java数组的列号可以不写,因为我们可以手动指定 nynbRKd 这叫做不规则的二维数组 打印结果: 总结: 本文具体说了一下一维数组的几种拷贝方法,介绍了二维数组的定义、打印和不规则的二维数组。上述就是今天全部的内容了,文章哪里出现了问题我都会积极改正,也希望大家能更快的掌握自己想要的知识,让我们一起加油!!!!!
if(array[i]>array[i+1]){
return false;
}
}
return true;
}
public static void main(String[] args) {
int[] array = {12,13,14,15,16,17,18};
System.out.println(isUp(array));
}
}
打印结果:
2.数组排序(冒泡排序)
public class TestDemo {
public static void bubbleSort(int[] array){
for (int i = 0; i boolean flg = false; for (int j = 0; j if(array[j]>array[j+1]){ int tmp = array[j]; array[j] = array[j+1]; nynbRKd array[j+1]= tmp; flg = true; } } if(flg = false){ return; } } } public static void main(String[] args) { int[] array = {12,1,23,15,16,13,17}; bubbleSort(array); System.out.println(Arrays.toString(array)); } } 打印结果: java对数组排序函数: 填充函数: 这个函数后面还能跟三个参数: 一般情况都是左闭右开的 [2,6)形式 3. 给定一个整型数组 将所有的偶数放在前半部分, 将所有的奇数放在数组后半部分 public static void func(int[] array){ int i = 0; int j = array.length - 1; while(i while(i < j && array[i] % 2 == 0){ i++; } while (i < j && array[j] % 2 != 0){ j--; } int tmp = array[i]; array[i] = array[j]; array[j] = tmp; } } public static void main(String[] args) { int[] array = {1,4,3,6,8,5,9}; func(array); System.out.println(Arrays.toString(array)); } 打印结果: 4.数组的拷贝 第一种: 把一个数组的值拷贝到另一个数组 public static int[] copyArray(int[] array){ int[] copy = new int[array.length]; nynbRKd for (int i = 0; i copy[i] = array[i]; } return copy; } public static void main(String[] args) { int[] array = {1,4,6,3,8,9}; int[] ret = copyArray(array); System.out.println(Arrays.toString(ret)); } 打印结果: 第二种: 拷贝数组(本身)函数 打印结果: 还可以长度乘2,但不是在原来的基础上扩大2倍,这里是一个新的对象 拷贝数组(一部分 )函数: 所有的Java里面的源代码from,to都是左闭右开区间的 第三种: 打印结果: 第四种拷贝: 5. 定义二维数组 二维数组的三种定义方法: 2行3列的二维数组 6.打印二维数组 二维数组相当于一个特殊的一维数组 第一种: 第二种: 第三种: 打印结果: Java二维数组的特殊化 第一种: 打印结果: 第二种: 分析原因: 第三种: 为什么Java数组的列号可以不写,因为我们可以手动指定 nynbRKd 这叫做不规则的二维数组 打印结果: 总结: 本文具体说了一下一维数组的几种拷贝方法,介绍了二维数组的定义、打印和不规则的二维数组。上述就是今天全部的内容了,文章哪里出现了问题我都会积极改正,也希望大家能更快的掌握自己想要的知识,让我们一起加油!!!!!
boolean flg = false;
for (int j = 0; j if(array[j]>array[j+1]){ int tmp = array[j]; array[j] = array[j+1]; nynbRKd array[j+1]= tmp; flg = true; } } if(flg = false){ return; } } } public static void main(String[] args) { int[] array = {12,1,23,15,16,13,17}; bubbleSort(array); System.out.println(Arrays.toString(array)); } } 打印结果: java对数组排序函数: 填充函数: 这个函数后面还能跟三个参数: 一般情况都是左闭右开的 [2,6)形式 3. 给定一个整型数组 将所有的偶数放在前半部分, 将所有的奇数放在数组后半部分 public static void func(int[] array){ int i = 0; int j = array.length - 1; while(i while(i < j && array[i] % 2 == 0){ i++; } while (i < j && array[j] % 2 != 0){ j--; } int tmp = array[i]; array[i] = array[j]; array[j] = tmp; } } public static void main(String[] args) { int[] array = {1,4,3,6,8,5,9}; func(array); System.out.println(Arrays.toString(array)); } 打印结果: 4.数组的拷贝 第一种: 把一个数组的值拷贝到另一个数组 public static int[] copyArray(int[] array){ int[] copy = new int[array.length]; nynbRKd for (int i = 0; i copy[i] = array[i]; } return copy; } public static void main(String[] args) { int[] array = {1,4,6,3,8,9}; int[] ret = copyArray(array); System.out.println(Arrays.toString(ret)); } 打印结果: 第二种: 拷贝数组(本身)函数 打印结果: 还可以长度乘2,但不是在原来的基础上扩大2倍,这里是一个新的对象 拷贝数组(一部分 )函数: 所有的Java里面的源代码from,to都是左闭右开区间的 第三种: 打印结果: 第四种拷贝: 5. 定义二维数组 二维数组的三种定义方法: 2行3列的二维数组 6.打印二维数组 二维数组相当于一个特殊的一维数组 第一种: 第二种: 第三种: 打印结果: Java二维数组的特殊化 第一种: 打印结果: 第二种: 分析原因: 第三种: 为什么Java数组的列号可以不写,因为我们可以手动指定 nynbRKd 这叫做不规则的二维数组 打印结果: 总结: 本文具体说了一下一维数组的几种拷贝方法,介绍了二维数组的定义、打印和不规则的二维数组。上述就是今天全部的内容了,文章哪里出现了问题我都会积极改正,也希望大家能更快的掌握自己想要的知识,让我们一起加油!!!!!
if(array[j]>array[j+1]){
int tmp = array[j];
array[j] = array[j+1];
nynbRKd array[j+1]= tmp;
flg = true;
}
}
if(flg = false){
return;
}
}
}
public static void main(String[] args) {
int[] array = {12,1,23,15,16,13,17};
bubbleSort(array);
System.out.println(Arrays.toString(array));
}
}
打印结果:
java对数组排序函数:
填充函数:
这个函数后面还能跟三个参数:
一般情况都是左闭右开的 [2,6)形式
3. 给定一个整型数组
将所有的偶数放在前半部分, 将所有的奇数放在数组后半部分
public static void func(int[] array){
int i = 0;
int j = array.length - 1;
while(i while(i < j && array[i] % 2 == 0){ i++; } while (i < j && array[j] % 2 != 0){ j--; } int tmp = array[i]; array[i] = array[j]; array[j] = tmp; } } public static void main(String[] args) { int[] array = {1,4,3,6,8,5,9}; func(array); System.out.println(Arrays.toString(array)); } 打印结果: 4.数组的拷贝 第一种: 把一个数组的值拷贝到另一个数组 public static int[] copyArray(int[] array){ int[] copy = new int[array.length]; nynbRKd for (int i = 0; i copy[i] = array[i]; } return copy; } public static void main(String[] args) { int[] array = {1,4,6,3,8,9}; int[] ret = copyArray(array); System.out.println(Arrays.toString(ret)); } 打印结果: 第二种: 拷贝数组(本身)函数 打印结果: 还可以长度乘2,但不是在原来的基础上扩大2倍,这里是一个新的对象 拷贝数组(一部分 )函数: 所有的Java里面的源代码from,to都是左闭右开区间的 第三种: 打印结果: 第四种拷贝: 5. 定义二维数组 二维数组的三种定义方法: 2行3列的二维数组 6.打印二维数组 二维数组相当于一个特殊的一维数组 第一种: 第二种: 第三种: 打印结果: Java二维数组的特殊化 第一种: 打印结果: 第二种: 分析原因: 第三种: 为什么Java数组的列号可以不写,因为我们可以手动指定 nynbRKd 这叫做不规则的二维数组 打印结果: 总结: 本文具体说了一下一维数组的几种拷贝方法,介绍了二维数组的定义、打印和不规则的二维数组。上述就是今天全部的内容了,文章哪里出现了问题我都会积极改正,也希望大家能更快的掌握自己想要的知识,让我们一起加油!!!!!
while(i < j && array[i] % 2 == 0){
i++;
}
while (i < j && array[j] % 2 != 0){
j--;
}
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
public static void main(String[] args) {
int[] array = {1,4,3,6,8,5,9};
func(array);
System.out.println(Arrays.toString(array));
}
打印结果:
4.数组的拷贝
第一种:
把一个数组的值拷贝到另一个数组
public static int[] copyArray(int[] array){
int[] copy = new int[array.length];
nynbRKd for (int i = 0; i copy[i] = array[i]; } return copy; } public static void main(String[] args) { int[] array = {1,4,6,3,8,9}; int[] ret = copyArray(array); System.out.println(Arrays.toString(ret)); } 打印结果: 第二种: 拷贝数组(本身)函数 打印结果: 还可以长度乘2,但不是在原来的基础上扩大2倍,这里是一个新的对象 拷贝数组(一部分 )函数: 所有的Java里面的源代码from,to都是左闭右开区间的 第三种: 打印结果: 第四种拷贝: 5. 定义二维数组 二维数组的三种定义方法: 2行3列的二维数组 6.打印二维数组 二维数组相当于一个特殊的一维数组 第一种: 第二种: 第三种: 打印结果: Java二维数组的特殊化 第一种: 打印结果: 第二种: 分析原因: 第三种: 为什么Java数组的列号可以不写,因为我们可以手动指定 nynbRKd 这叫做不规则的二维数组 打印结果: 总结: 本文具体说了一下一维数组的几种拷贝方法,介绍了二维数组的定义、打印和不规则的二维数组。上述就是今天全部的内容了,文章哪里出现了问题我都会积极改正,也希望大家能更快的掌握自己想要的知识,让我们一起加油!!!!!
copy[i] = array[i];
}
return copy;
}
public static void main(String[] args) {
int[] array = {1,4,6,3,8,9};
int[] ret = copyArray(array);
System.out.println(Arrays.toString(ret));
}
打印结果:
第二种:
拷贝数组(本身)函数
打印结果:
还可以长度乘2,但不是在原来的基础上扩大2倍,这里是一个新的对象
拷贝数组(一部分 )函数:
所有的Java里面的源代码from,to都是左闭右开区间的
第三种:
打印结果:
第四种拷贝:
5. 定义二维数组
二维数组的三种定义方法:
2行3列的二维数组
6.打印二维数组
二维数组相当于一个特殊的一维数组
第一种:
第二种:
第三种:
打印结果:
Java二维数组的特殊化
第一种:
打印结果:
第二种:
分析原因:
第三种:
为什么Java数组的列号可以不写,因为我们可以手动指定
nynbRKd
这叫做不规则的二维数组
打印结果:
总结:
本文具体说了一下一维数组的几种拷贝方法,介绍了二维数组的定义、打印和不规则的二维数组。上述就是今天全部的内容了,文章哪里出现了问题我都会积极改正,也希望大家能更快的掌握自己想要的知识,让我们一起加油!!!!!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~