• C语言-冒泡排序(4种表示)


    • 首先,把10个数里最小的个数放到下标为0的位置上(str[0])
    • 通过将下标为0的数(str[0])与剩下其余9个数进行对比交换(将较少者放置在下标为0的位置上),就可以得到这10个数最小的那个
    • 10个数最小的那位确定后,接下来就要找剩下9个数最小的那个。
    • 因为已经确定出一个最小的数,所以就不要动str[0],直接从str[1]开始,与剩下的8个数对比交换,找出9个数中最小的那位放到下标为1(str[1])的位置上
    • 继续按照这个思路就可以将这十个数变成有序的(从小到大)的数组
    冒泡排序1
    #include <stdio.h> void swap(int *a, int *b); //交换两个数 int main() { int str[10]; int i, j; //初始化数组为10 9 8 7 6 5 4 3 2 1 for (i = 0; i < 10; i++) { str[i] = 10 - i; } //排序,从a[0]开始排,从小到大 for (i = 0; i < 10; i++) { for (j = i + 1; j < 10; j++) { if (str[i] > str[j]) { swap(&str[i], &str[j]); } } } //将十个数输出 for (i = 0; i < 10; i++) printf("%d ", str[i]); return 0; } void swap(int *a, int *b) { int c; c = *a; *a = *b; *b = c; }
    冒泡排序2
    void BubbleSort3(int a[], int n)  
    {  
        int j, k;  
        int flag;  
          
        flag = n;  
        while (flag > 0)  
        {  
            k = flag;  
            flag = 0;  
            for (j = 1; j < k; j++)  
                if (a[j - 1] > a[j])  
                {  
                    Swap(a[j - 1], a[j]);  
                    flag = j;  
                }  
        }  
    }  
    冒泡排序3 
    void BubbleSort2(int a[], int n)  
    {  
           int j, k;  
           bool flag;  
           k = n;  
           flag = true;  
           while (flag)  
           {  
                  flag = false;  
                  for (j = 1; j < k; j++)  
                         if (a[j - 1] > a[j])  
                         {  
                                Swap(a[j - 1], a[j]);  
                                flag = true;  
                         }  
                  k--;  
           }  
    }  
    冒泡排序4  
    void BubbleSort1(int a[], int n)  
    {  
           int i, j;  
           for (i = 0; i < n; i++)  
                  for (j = 1; j < n - i; j++)  
                         if (a[j - 1] > a[j])  
                                Swap(a[j - 1], a[j]);  
    }  
  • 相关阅读:
    XML注释
    Mysql 查询不重复数据
    java 支持跨域
    蓝桥杯历届试题-打印十字图--Java
    以流的方式读取url中的参数
    写log日志,并读取log日志
    Java Memcached的使用
    PageInfo实现分页
    java swing 窗口在屏幕中默认显示的位置 居中位置显示
    简易计算器布局 BorderLayout JPanel GridLayout 混合
  • 原文地址:https://www.cnblogs.com/CLiOS/p/5351221.html
Copyright © 2020-2023  润新知