JAVA数组之选择排序算法

注意选择排序和冒泡排序的异同点:

它们两者比较的次数一样,O【N^2】的时间。

但选择排序的交换次数要比冒泡少。我想是因为它在每次循环之前,就设计了一个锚点。(如下面的MIN),这样就避免了已排序好的元素再交换。其适用于排序量少而交换多。

JAVA数组之选择排序算法
public void insert(long value)
      {
          int j;
          int i;
          long temp;
          long min;
          a[nElems] = value;
          nElems++;
          for(j = 0; j < nElems; j++){
              min = a[j];
              for(i = j; i < nElems; i++){
                  if (a[j] > a[i]){
                      min = a[i];
                      temp = a[i];
                      a[i] = a[j];
                      a[j] = temp;
                  }
              }
            }

          System.out.print("Insert  value: " + value);
          System.out.println("");
      }
JAVA数组之选择排序算法


输出没有差别

上一篇:*安全资讯精选 2018年第八期 *网信办发布地方互联网新闻信息服务单位许可信息;两会《*工作报告》互联网行业重点解析;欧盟委员会要求科技公司一小时内删除*等非法内容


下一篇:java 算法基础之二快速排序算法