选择排序和冒泡排序小结与程序实现

本文详细介绍了冒泡排序和选择排序两种基本排序算法的实现原理及步骤。通过具体的C语言代码示例,展示了如何使用这两种算法对数组进行排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

冒泡,选择异同


冒泡

外层  i  循环 0 到(到是指  <=  ,下同)         len-2

里层a[ j ]   > a[j +  1]  比较,     j循环   0     len - 2 -i

选择

外层  i  循环 0 到                                             len- 2

里层a[ i ]   > a[j  + 1]  比较 ,    j循环    i     len - 2

 

//

// main.c

//  冒泡排序

//

// Created by LongMa on 15/8/8.

//  Copyright (c) 2015 itcast. All rights reserved.

//

 

#include <stdio.h>

#define len 10

 

void sortMaopao(inta[len])

{

    for (int i = 0; i <= len- 2 ;i++)

    {

       for (intj = 0; j <= len- 2 - i ; j++)

       {

           if (a[j] > a[j + 1])

           {

               int temp= a[j];

               a[j] = a[j + 1];

               a[j + 1]= temp;

           }

       }

    }

}

 

int main(intargc, const char* argv[])

{

    // insertcode here...

    int a[len] = {1,2,9,8,5,6,33,22,11,55};

    

    sortMaopao(a);

    for (int k = 0; k < len ;k++)

    {

       printf("%d\t",a[k]);

    }

    return 0;

计算机生成了可选文字:11 22 33 55

//

//  main.c

//  选择排序

//

//  Created byLongMa on 15/8/8.

//  Copyright (c) 2015 itcast. All rights reserved.

#include <stdio.h>

#define len 10

 

void sortXz(int a[len])

{

   for (int i = 0; i <= len - 2; i++)

    {

       for (int j = i ; j <= len - 2 ; j++)

       {

           if (a[i] > a[j + 1])

           {

                a[i    ] = a[i] ^ a[j + 1];//注意 下标!不是 i + 1!汗,装逼需谨慎!

               a[j + 1] = a[i] ^ a[j + 1];

               a[i   ] = a[i] ^ a[j + 1];

           }

       }

    }

}

int main(int argc, const char * argv[])

{

   int a[len] = {1,3,9,4,7,88,-7,0,44,1};

   sortXz(a);

   for (int l = 0; l < len; l++)

    {

       printf("%d\t",a[l]);

    }

   return 0;

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值