冒泡排序的升级版--鸡尾酒排序

鸡尾酒排序

(作一个自己学习的记录)

作为冒泡排序的升级,鸡尾酒排序的思路是首先从开始向末尾循环找出一个最大数,将它放在末尾,

然后再从末尾向开始循环找出一个最小数将它放在开头。当指向开始的索引与指向末尾的索引重合

时,排序结束。

下面是此算法的C语言实现。 

#include<stdio.h>
#include<stdlib.h>
int main(){
    
    int arr[6]={3,9,1,2,4,7}//首先定义一个数组
    int start=0;//作为开始的索引
    int end=6-1;//作为结束的索引
    
    while(end-start>=1){
        //当开始的索引与结束的索引不重合的时候执行操作
        for(int i=start;i<end;i++){
            if(arr[i+1]<arr[i]){
                int temp=arr[i+1];
                  arr[i+1]=arr[i];
                  arr[i]=temp;                
            }//这一次循环找出6个数中的最大数  
        }
        end--;

        for(int i=end;i>start;i++){
             if(arr[i]<arr[i-1]){
                 int temp=arr[i-1];
                  arr[i-1]=arr[i];
                  arr[i]=temp;      
            }       
        }//这一次循环找出5个数中的最小数
        start++;
    }

    system("pause");
    return 0;
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值