选择排序(Java版)



package sort;
public class selectApp { //选择排序
      public static void main(String[] args) {
            SelectSort sel = new SelectSort(100);
            sel.insert(23);
            sel.insert(13);
            sel.insert(33);
            sel.insert(43);
            sel.insert(63);
            sel.insert(35);
            sel.insert(45);
            sel.insert(67);
            sel.insert(89);
            sel.insert(123);
            sel.insert(90);
            sel.insert(76);
            sel.insert(12);
            sel.display();
            sel.select();
            sel.display();
      }
}
class SelectSort {
      int[] a = new int[100];
      int nElems = 0;
      SelectSort(int max) {
            a = new int[max];
            nElems = 0;
      }
      public void insert(int value) {
            a[nElems] = value;
            nElems++;
      }
      public void display() {
            for (int i = 0; i < nElems; i++) {
                  System.out.print(a[i] + " ");
            }
            System.out.println();
      }
      public void select() {
            int in, out;
            int min;
            
            for (out = 0; out < nElems; out++) {
                  min = out;
                  for (in = out+1; in < nElems; in++) {
                        if (a[in] < a[min]) {
                              min = in;
                        }
                  }
                  swap(out, min);
            }
      }
      private void swap(int one, int two) {
            int temp = a[one];
            a[one] = a[two];
            a[two] = temp;
      }
}


运行结果:
23 13 33 43 63 35 45 67 89 123 90 76 12
12 13 23 33 35 43 45 63 67 76 89 90 123
发布了63 篇原创文章 · 获赞 1 · 访问量 2741

猜你喜欢

转载自blog.csdn.net/A_bad_horse/article/details/104833762
今日推荐