数组排序算法
来源:互联网 发布:数据挖掘软件容易使用 编辑:程序博客网 时间:2024/06/15 05:31
public class BubbleSort {public static void main(String[] args) {// 创建一个数组,这个数组元素是乱序的int[] array = { 63, 4, 24, 1, 3, 15 };// 创建冒泡排序类的对象BubbleSort sorter = new BubbleSort();// 调用排序方法将数组排序sorter.sort(array);}/** *冒泡排序:基本思想是交换相邻元素的值 * * @param array * 要排序的数组 */public void sort(int[] array) {for (int i = 1; i < array.length; i++) {//外层控制循环的次 如果长度为5,只需要循环4次// 比较相邻两个元素,较大的数往后冒泡for (int j = 0; j < array.length - i; j++) {if (array[j] > array[j + 1]) {int temp = array[j];// 把第一个元素值保持到临时变量中array[j] = array[j + 1];// 把第二个元素值保存到第一个元素单元中array[j + 1] = temp;// 把临时变量也就是第一个元素原值保持到第二个元素中}}}showArray(array);// 输出冒泡排序后的数组元素}/** * 显示数组所有元素 * * @param array * 要显示的数组 */public void showArray(int[] array) {for (int i : array) {// foreach格式遍历数组System.out.print(" >" + i);// 输出每个数组元素值}System.out.println();}}
/** * 直接选择排序算法实例 * * 基本思想:不断地获取最大元素的下标,不断与数组的最后一个元素的下标交换 */public class SelectSort {public static void main(String[] args) {// 创建一个数组,这个数组元素是乱序的int[] array = { 63, 4, 24, 1, 3, 15 };// 创建直接排序类的对象SelectSort sorter = new SelectSort();// 调用排序对象的方法将数组排序sorter.sort(array);}/** *直接选择排序法 * * @param array * 要排序的数组 */public void sort(int[] array) {int index;for (int i = 1; i < array.length; i++) {index = 0;for (int j = 1; j <= array.length - i; j++) {if (array[j] > array[index]) {index = j;//获取该次循环的最大元素的下标}}// 交换在位置array.length-i和index(最大值)两个数int temp = array[array.length - i];// 把第一个元素值保持到临时变量中array[array.length - i] = array[index];// 把第二个元素值保存到第一个元素单元中array[index] = temp;// 把临时变量也就是第一个元素原值保持到第二个元素中}showArray(array);// 输出直接选择排序后的数组值}/** * 显示数组所有元素 * * @param array * 要显示的数组 */public void showArray(int[] array) {for (int i : array) {// foreach格式遍历数组System.out.print(" >" + i);// 输出每个数组元素值}System.out.println();}}
/** * 反转排序算法实例 * * 基本思想:第一个数与最后一个数交换,第二个数与倒数第二个数交换,以此类推 */public class ReverseSort {public static void main(String[] args) {// 创建一个数组int[] array = { 10, 20, 30, 40, 50, 60 };// 创建反转排序类的对象ReverseSort sorter = new ReverseSort();// 调用排序对象的方法将数组反转sorter.sort(array);}/** *直接选择排序法 * * @param array * 要排序的数组 */public void sort(int[] array) {System.out.println("数组原有内容:");showArray(array);// 输出排序前的数组值int temp;int len = array.length;for (int i = 0; i < len / 2; i++) {temp = array[i];array[i] = array[len - 1 - i];array[len - 1 - i] = temp;}System.out.println("数组反转后内容:");showArray(array);// 输出排序后的数组值}/** * 显示数组所有元素 * * @param array * 要显示的数组 */public void showArray(int[] array) {for (int i : array) {// foreach格式遍历数组System.out.print("\t" + i);// 输出每个数组元素值}System.out.println();}}
阅读全文
1 0
- 一种数组排序算法
- 冒泡算法 ,数组排序
- 常用数组排序算法
- 【算法练习】数组排序
- 冒泡算法排序数组
- 算法学习 数组排序
- 数组排序算法
- 数组排序算法
- 常用数组排序算法
- 数组的排序算法
- 数组的排序算法
- Java数组排序算法
- 数组的排序算法
- 数组排序算法
- 数组及排序算法
- 数组排序算法
- 数组常用排序,查找算法
- 数组排序的常用算法
- EarMaster Pro Teacher6.2(Build 656TW) 中文版官网下载
- HDU6178 Monkeys【DFS】
- Atitit 减少财政支出----普通人如何蹭政府补贴措施 attilax大总结.docx
- Atitit 减少财政支出----获取商家商业机构的补贴措施 attilax大总结.docx
- Atitit 每个人都应该实施的互联网金融战略 attilax总结
- 数组排序算法
- 最短路径Floyd算法
- Atitit 财政支出减少之道---------蹭银行与金融机构的补贴之道
- jetty9.4.5安装部署文档
- 2017阿里校招笔试附加题2 菜鸟仓库货架编号问题
- resin4.0.53安装部署文档
- [PAT甲级]1012. The Best Rank (25)(最好排名)
- 它可以通过前述的 Kafka, Flume等数据源
- android ExpandableListView三级菜单的使用