排序算法(不全)

排序算法(还会陆续更新)

  • 冒泡排序
int a[]={1,43,5,23,43564,2,543,5312,6,132};
    auto length = sizeof(a)/sizeof(a[0]);
    for(int n = 0;n < length; n++)
    {
        for(int i = 0;i < length-1; i++)
        {   
            if(a[i]>a[i+1])
            {
                auto b =  a[i];
                a[i] = a[i+1];
                a[i+1] = b;
            }
          
        }
    }

输出数组的方法

for(int i=0;i<10;i++){      //使用数组名和下标输出数组 
		cout<<a[i]<<"  "; 
	}
	cout<<endl;

不能用直接cout的方法,否则输出的就是一个十六进制的地址。

  • 选择排序
    选择排序的基本思想就是在一列数组中首先寻找最大或者最小的值,放在数组的首或者末尾,依次做这个操作,得到排列好的序列。
 int a[]={1,43,5,23,43564,2,543,5312,6,132};
   
    auto length = sizeof(a)/sizeof(a[0]);
    for(int i = 0; i < length-1; i++)
    {
        auto minIndex = i;
        for(int j = i+1; j < length; j++)
        {
            if(a[minIndex] > a[j])
            {
                minIndex = j;//选择保存最小的数在数组中的索引
            }
        }
        auto temp = a[i];
        a[i] = a[minIndex];
        a[minIndex] = temp;
    }
  • 插入排序
    基本思想就是从后向前扫描插入(其实这里的程序写的自己也不是很明白)
int a[]={1,43,5,23,43564,2,543,5312,6,132};
   
    auto length = sizeof(a)/sizeof(a[0]);
    for(int i = 1; i < length; i++)
    {
        auto preIndex = i-1;
        auto temp = a[i];
        while(preIndex >= 0 && a[preIndex] > temp)
        {
            a[preIndex+1] =a[preIndex];
            preIndex--;
        }
        a[preIndex+1] = temp;
    }
  • 快速排序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值