zoukankan      html  css  js  c++  java
  • 冒泡排序快速排序C语言

    //冒泡排序
    void BubbleSort(ElemType A[], int n) {
        int i, j, temp;
        int flag=1;
        for (i = 1; i <= n - 1&&flag; i++) {
            flag = 0;//表示在本趟冒泡是否发生交换的标志
            for (j = 1; j <= n - i; j++) 
                if (A[j] > A[j + 1]) {
                    temp = A[j];
                    A[j] = A[j + 1];
                    A[j + 1] = temp;
                    flag = 1;//发生交换
                }
            if (flag == 0)
                return;
        }
    }
    //快速排序
    int QKPass(ElemType A[], int low, int high) {
        ElemType pivot = A[low];
        while (low < high)
        {
            while (low < high && A[high] >= pivot) --high;
            A[low] = A[high];
            while (low < high && A[low] <= pivot) ++low;
            A[high] = A[low];
        }
        A[low] = pivot;
        return low;
    }
    void QuickSort(ElemType A[], int low, int high) {
        if (low < high) {
            int pivotpos = QKPass(A, low, high);
            QuickSort(A, low, pivotpos - 1);
            QuickSort(A, pivotpos + 1, high);
        }
    }
    void InputA(int* A, int n) {
        int i;
        for (i = 1; i <= n; i++) {
            scanf_s("%d", &A[i]);
        }
    }
    void PrintA(int *A,int n) {
        for (int i = 1; i <= n; i++) {
            printf("%2d", A[i]);
        }
    }
    int main() {
        int low = 0, high = 7;
        int A[100];
        InputA(A, 8);
        //BubbleSort(A, 8);
        //ShellSortw(A, 8);
        //BinSort(A, 8);
        InsertSort(A, 8);
        for (int i = 1; i <= 8; i++) {
            printf("%2d", A[i]);
        }
        system("pause");
        return 0;
    }
    努力的意义就是放眼望去以后都是喜欢的人和事......
  • 相关阅读:
    android 添加图片时错误:android libpng error: Not a PNG file
    hdu4553
    zoj2706
    zoj3349
    zoj3606
    主席树 静态区间第k大
    主席树:动态 Kth
    zoj3633
    zoj3381
    zoj 3540
  • 原文地址:https://www.cnblogs.com/Lorrained/p/15224951.html
Copyright © 2011-2022 走看看