#include <stdio.h>
#include <iostream>
using namespace std;
/*buble search*/
int bubleSort(int Array[], int n)
{
if(Array == NULL)
return -1;
for(int i=0; i<n-1; i++)
{
for(int j=i; j<n; j++)
{
if(Array[i] > Array[j])
{
Array[i] ^= Array[j];
Array[j] ^= Array[i];
Array[i] ^= Array[j];
}
}
}
return 1;
}
/*quick sort*/
int cutArray(int Array[], int left, int right);
void quickSort(int Array[], int left, int right)
{
if(left < right)
{
int point = cutArray(Array, left, right); //划分左右子序列
quickSort(Array, left, point-1);
quickSort(Array, point+1, right);
}
}
int cutArray(int Array[], int left, int right)
{
int leftTemp = left;
int rightTemp = right;
int temp = Array[left]; //以数组第一个元素作为快速排序的中间点,将小于该元素的点放到左边,大于该元素的点放到右边
while(leftTemp < rightTemp)
{
while(leftTemp<rightTemp && temp<Array[rightTemp])
{
rightTemp--;
}
if(leftTemp<rightTemp)
{
Array[leftTemp] = Array[rightTemp];
leftTemp++;
}
while(leftTemp<rightTemp && temp>Array[leftTemp])
{
leftTemp++;
}
if(leftTemp<rightTemp)
{
Array[rightTemp] = Array[leftTemp];
rightTemp--;
}
}
Array[leftTemp] = temp;
return leftTemp;
}
int main()
{
int Array[] = {9, 7, 10, 3, 87, 24, 2};
bubleSort(Array, sizeof(Array)/sizeof(int));
int Array2[] = {9, 7, 10, 3, 87, 24, 1, 1};
quickSort(Array2, 0, (sizeof(Array2)/sizeof(int))-1);
for(int i=0; i<7; i++)
cout<<Array2[i]<<endl;
getchar();
return 0;
}