排序算法

  • 插入排序
public static void insertSort(int[] num,int length) {
    int temp;
    int j;
    // 顺序插入1-n个数字
    for(int i=1;i<length;i++) {
        temp = num[i]; //哨兵
        // j-1  j=i   i
        //只要j大于i则j--同时元素向后移动,找到一个合适的位置空位置
        for(j=i;j>0 && num[j-1]>temp;j--) {
            num[j] = num[j-1];
        }
        /*
        while(j>0 && num[j-1]>temp ) {
            num[j]=num[j-1];
            j--;
        }
        */
        num[j] = temp;
    }
}
  • 选择排序
public static void selectSort(int[] num,int length) {
    int i,j,t;
    // 循环比较次数
    for(i=0;i<length;i++) {
        int index = 0;
        for(j=0;j<length-i;j++) {
            if(num[index] < num[j]) index = j;
        }
        // 获取最大的值和最后元素交换位置
        t = num[length-i-1];
        num[length-i-1] = num[index];
        num[index] = t;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,220评论 0 52
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,743评论 0 15
  • 概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的...
    Luc_阅读 2,299评论 0 35
  • 彼岸荼靡,蝴蝶翻飞,一切都是那么极至。 只是一旦与极至牵连了边,脆弱也随即而来。 再也飞不过沧海,越不过桑田 没有...
    叚象阅读 889评论 2 1
  • 我爱你,他们说,这个世界上、海最深邃,干净又透明,我想,那是他们没见过你的眼睛。(最最最最最喜欢的一句) 我爱你,...
    权心权逸阅读 4,175评论 0 2