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

     1 #include "stdafx.h"
     2 #include <iostream>
     3 #include <exception>
     4 #include <stack>
     5 using namespace std;
     6 
     7 void Swap(int *lhs,int *rhs)
     8 {
     9     int temp = *lhs;
    10     *lhs = *rhs;
    11     *rhs = temp;
    12 }
    13 
    14 int Partition(int* Array,int begin,int end)
    15 {
    16     int ran = begin+ rand() % (end-begin+1);//生成一个从begin到end的随机数
    17     Swap(&Array[ran],&Array[end]);
    18     int key = Array[end];
    19     int i = begin-1;
    20     for(int j = begin;j != end;++j)
    21     {
    22         if(Array[j]<key)
    23         {
    24             ++i;
    25             Swap(&Array[i],&Array[j]);
    26         }
    27     }
    28     Swap(&Array[i+1],&Array[end]);
    29     return i+1;
    30 }
    31 void QuickSort(int *arrlist,int beg,int end)
    32 {
    33     if(beg < end)
    34     {
    35         int index = Partition(arrlist,beg,end);
    36         QuickSort(arrlist,beg,index-1);
    37         QuickSort(arrlist,index+1,end);
    38     }
    39 }
    40 int _tmain(int argc, _TCHAR* argv[])
    41 { 
    42     int arr[]={1,2,3,10,6,7,8,5,11,4,9,14,0};
    43     int LENGTH = sizeof(arr)/sizeof(int);
    44     QuickSort(arr,0,LENGTH-1);
    45     //快速排序之后的结果
    46     for(int i = 0;i != LENGTH;++i)
    47         cout<<arr[i]<<" ";
    48     return 0 ;
    49 }
  • 相关阅读:
    IPC---信号量
    static的用法
    模拟对话框的实现
    Dom选择器使用与调试记录
    第一个javascript脚本
    javascript基础总汇
    overflow的量两种模式
    固定标签到页面
    固定标签到某个标签
    固定标签(position: fixed)
  • 原文地址:https://www.cnblogs.com/crazycodehzp/p/3557556.html
Copyright © 2011-2022 走看看