数据结构排序之选择排序

来源:互联网 发布:cms架构图 编辑:程序博客网 时间:2024/05/23 18:28
package com.jlz.java;import java.util.*;/** *  * @author Jlzlight <strong><span style="font-size:18px;color:#ff0000;">选择排序算法思想:每次寻找相对于后面未排序的最小元素,置换前面的相对位置元素</span></strong> */public class Select_Test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub// 初始化列表ArrayList<Object> arrayList = new ArrayList<Object>();arrayList.add(60);arrayList.add(55);arrayList.add(48);arrayList.add(90);arrayList.add(36);// 显示列表元素Show(arrayList);// 选择排序函数Select(arrayList);}// 显示列表元素public static void Show(ArrayList<Object> arrayList) {// 运用迭代遍历,也可以直接遍历ListIterator<Object> listIterator = arrayList.listIterator();while (listIterator.hasNext()) {System.out.print(" " + listIterator.next());}// 换行函数Println();}// 换行public static void Println() {System.out.println();}// 选择排序函数public static void Select(ArrayList<Object> arrayList) {for (int i = 0; i < arrayList.size(); i++) {int min = i;// 寻找相对于后面最小的元素的下标for (int j = i + 1; j < arrayList.size(); j++) {if ((Integer) arrayList.get(min) > (Integer) arrayList.get(j))min = j;}// 交换元素Object e = arrayList.get(i);arrayList.set(i, arrayList.get(min));arrayList.set(min, e);Show(arrayList);}}}

  初始化数据:                60 55 48 90 36
  第一趟找最小的元素:36 55 48 90 60
  第二趟找最小的元素:36 48 55 90 60
  第三趟找最小的元素:36 48 55 90 60
  第四趟找最小的元素:36 48 55 60 90
  第五趟找最小的元素:36 48 55 60 90

1 0
原创粉丝点击