zoukankan      html  css  js  c++  java
  • 快速排序

    #include<stdio.h>
    #include<stdlib.h>
    int partition(int a[],int i,int j)
    {
    int temp=a[i];//a[i]为关键字
    while(i<j)
    {
    while(a[j]>=temp&&i<j)//由尾指针向前遍历寻找小于关键字的数据
    j--;
    if(i<j)
    a[i++]=a[j];//找到数据赋值给a[i],头指针后移
    while(a[i]<=temp&&i<j)//由头指针向后遍历寻找大于关键字的数据
    i++;
    if(i<j)
    a[j--]=a[i];//找到数据赋值给a[j],尾指针前移
    }
    a[i]=temp;
    return i;
    }
    void QuickSort(int a[],int i,int j)
    {
    int k;
    if(i<j)
    {
    k=partition(a,i,j);
    QuickSort(a,i,k-1);
    QuickSort(a,k+1,j);

    }
    }
    int main()
    {
    int i, n, a[100];
    printf("请输入需要排序元素的个数:");
    scanf("%d", &n);
    printf("随机生成的数组为:");
    for (i = 0; i < n; i++)
    {
    a[i] = rand() % 100 + 1;
    printf("%d ", a[i]);
    }
    a[i] = '';
    printf(" ");
    QuickSort(a,0,n-1);
    printf(" 快速排序结果为(由小到大):");
    for (i = 0; i < n; i++)
    printf("%d ", a[i]);
    }

  • 相关阅读:
    Yum与list结合
    DNS辅助
    DHCP中继
    apache+SSL 搭建https
    vsftpd服务器
    根据Eclipse SVN changelog使用ANT自动打增量包
    SHELL 近期学习
    Tomcat源码学习一
    oracle笔记
    Linux 下安装 SVN服务器
  • 原文地址:https://www.cnblogs.com/qin5429/p/8385320.html
Copyright © 2011-2022 走看看