• C 排序法


    1、冒泡法,相邻的两个数值,进行比较,满足条件的进行互换

    #include <stdio.h>
    int main() {
        int index, j, tmp;
        int arr[] = {1, 333, 33,55};
        for(index=0; index<4; index++) {
            for(j=3; j>index; j--) {
                if (arr[j] < arr[j-1]) {
                    tmp = arr[j];
                    arr[j] = arr[j-1];
                    arr[j-1] = tmp;       
            
                }
            }
        }
        for(index=0; index<4; index++) {
            printf("%d	", arr[index]);
        }
        return 0;
    }

    交换排序法

    /** * 简单的交换排序

      * 冒泡排序初级版

      *这个不算是标准的冒泡排序算法,因为不满足“两两比较相邻记录”的冒泡排序思想,她更应该是最最简单的交换排序而已

      * 思路:让每一个关键字和她后面的“每一个”关键字比较,如果大则交换

      缺点:效率很低

    */

    #include <stdio.h>
    int main() {
        int arr[6];
        int tmp, i, j;
        for(i=0; i<6; i++) {
            scanf("%d", &arr[i]);
        }
        
        for(i=0; i<6; i++) {
            for(j=i; j<5; j++) {
                if (arr[i]<arr[j+1]) {
                    tmp = arr[i];
                    arr[i] = arr[j+1];
                    arr[j+1] = tmp;    
                }
            }
        }
        for(i=0; i<6; i++) {
            printf("
    %ld	", arr[i]);
        }
        return 0;
    }
    

    3、选择法

    在要排序的一组数中,选出最小的一个数与第一个位置的数交换。然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。

    #include <stdio.h>
    int main() {
        int arr[6];
        int tmp, i, j, min;
        for(i=0; i<6; i++) {
            scanf("%d", &arr[i]);
        }
        
    
        for(i=0; i<6; i++) {
            min = i;
            for(j=i; j<5; j++) {
                if (arr[min]>arr[j+1]) {
                    min = j+1;  
                }
            }
            if (i != min ) {
                tmp = arr[i];
                arr[i] = arr[min];
                arr[min] = tmp;
            }
        }
        for(i=0; i<6; i++) {
            printf("
    %ld	", arr[i]);
        }
    
        return 0;
    }
  • 相关阅读:
    oracle之is null和is not null的优化
    oracle命令导出/导入
    Linux环境下后台启动运行jar并设置内存
    阿里云手动安装git客户端
    阿里云安装maven
    python 迭代器
    ThreadPoolExecutor构造器参数详解
    CVE-2020-13957 solr未授权复现
    CVE-2020-9496 apache ofbiz xml-rpc反序列化漏洞分析
    REST API介绍
  • 原文地址:https://www.cnblogs.com/agang-php/p/5545288.html
Copyright © 2020-2023  润新知