冒泡排序
public class bubbleSort { public static void main(String[] args) {
int n = 5;
int[] a = new int[n];
for(int i=0;
i suiJi = suiJi();
System.out.println(suiJi);
java.util.Collections.sort(suiJi);
System.out.println(suiJi);
} private static ArrayList suiJi() {
ArrayList list = new ArrayList<>();
for(int i=0;
i<5;
i++) {
String chars = "abcdefghijklmnopqrstuvwxyz";
list.add(chars.charAt((int)(Math.random() * 26)));
}return list;
} private static void bubbleSort(int[] a) {
for(int i=1;
ia[j+1]) {
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
System.out.println(Arrays.toString(a));
}
}
快速排序
public class QuickSort01 { public static void main(String[] args) {int[] a = new int[6];
for (int i = 0;
i < a.length;
i++) {
a[i] = new Random().nextInt(100);
}
System.out.println(Arrays.toString(a));
sort(a, 0, a.length - 1);
System.out.println(Arrays.toString(a));
} private static void sort(int[] a, int lowIndex, int highIndex) {int low = lowIndex;
int high = highIndex;
if (low < high) {
int pivot = a[low];
while (low < high) {
while (a[high] >= pivot && low < high) {
high--;
}
a[low] = a[high];
while (a[low] < pivot && low < high) {
low++;
}
a[high] = a[low];
}
a[low] = pivot;
System.out.println(lowIndex);
System.out.println(highIndex);
//快速排序低位或高位每次递归都是变化的,所以每次递归要重新赋值给方法内部的新low和新high
sort(a, lowIndex, low - 1);
sort(a, low + 1, highIndex);
}
}
}
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)