zoukankan      html  css  js  c++  java
  • 排序算法

    #include <stdio.h>

    #define N 4

    //冒泡排序

    int* bubbleSort(int *num,int NN)   //前面参数是指向整形数组的指针,后面的N是这个数组的大小

    {

        for (int i=0; i<NN-1; i++) { //排序N-1次

            for (int j=0; j<NN-1-i; j++) {  //每次都从第一个一次往后面的比,大的排在后面,但后面已经排序好了的就不需要比了

                if (num[j]>num[j+1]) {

                    num[j]=num[j]^num[j+1];   //yi'huo

                    num[j+1]=num[j]^num[j+1];

                    num[j]=num[j]^num[j+1];

                }

            }

        }

        int *p=num; //返回数组

        return p;

    }

    //快速排序

    void* quickSort(int *num,int NN)

    {

        

    }

    //显示调用排序方法后的数组

    void* show(int num[],int NN,int(*p)(int num[],int NN))  //指向数组的指针,和指向函数的指针

    {

        return p(num, NN);

    }

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

    {

    //    printf("您想要排序几个数:");

    //    scanf("%d",&N);

        printf("输入您要排序的%d个数(例如:1 3 2 4) ",N);

        int num[N];

        for (int i=0; i<N; i++) {

            scanf("%d",&num[i]);

        }

        printf("您输入的数组是:");

        for (int i=0; i<N; i++) {

            printf("%d ",num[i]);

        }

        printf(" ");

        

        //冒泡排序

        /*

        for (int i=0; i<N-1; i++) { //排序N-1次

            for (int j=0; j<N-1-i; j++) {  //每次都从第一个一次往后面的比,大的排在后面,但后面已经排序好了的就不需要比了

                if (num[j]>num[j+1]) {

                    num[j]=num[j]^num[j+1];

                    num[j+1]=num[j]^num[j+1];

                    num[j]=num[j]^num[j+1];

                }

            }

        }

        */

        show(num,N, bubbleSort);  //使用委托,调用外部函数,但数组是地址传递,不是值传递,所以在外面函数将main函数中的数组作为参数传递的时候,改变参数中的数组中的值,实际上就改变了数组中的值

        printf("冒泡排序后的数组是:");

        for (int i=0; i<N; i++)

        {

            printf("%d ",num[i]);

        }

        //快速排序 

    }

    感谢来访,共同学习!
  • 相关阅读:
    HDU 5795
    HDU5783
    HDU 5791
    VK Cup 2016
    Codeforces Round #357 (Div. 2)
    Educational Codeforces Round 15
    HDU5724
    博弈学习 3
    Spring的多配置文件加载
    spring 核心技术
  • 原文地址:https://www.cnblogs.com/dingxiaowei/p/3182655.html
Copyright © 2011-2022 走看看