快速排序代码

来源:互联网 发布:杭州大数据公司 编辑:程序博客网 时间:2024/05/21 18:31
#include <iostream>using namespace std;void Qsort(int a[], int low, int high);int main(){    int a[] = { 6, 1,  2, 7,  9,  3,  4,  5, 10,  8 };    cout << sizeof(a) << '\t' << sizeof(a[0]) << '\t' << sizeof(a) / sizeof(a[0]) << endl; //sizeof(a) 获得的是数组占用的内存大小,并非元素个数    Qsort(a, 0, sizeof(a) / sizeof(a[0]) - 1);    for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)    {        cout << a[i] << " ";    }    return 0;}void Qsort(int a[], int low, int high){    if (low >= high)        return;    int start = low, last = high, key = a[low];    while (start < last)    {        while (start < last && key <= a[last])        {            last--;        }        a[start] = a[last];        while (start < last && key >= a[start])        {            start++;        }        a[last] = a[start];    }    a[start] = key;   //在这里索引换成 last 一样效果    Qsort(a, low, start - 1);    Qsort(a, last + 1, high);}

这里写图片描述

0 0
原创粉丝点击