quicksort.cpp
来自「基于快速排序的一个小算法」· C++ 代码 · 共 62 行
CPP
62 行
#include<stdio.h>
#define MAX 5
int Partition(double a[], int low, int high )//划分
{
int i,j;
double Major_Compare = a[low];
i = low;
j = high;
while(i<j)
{
while(i<j&&Major_Compare < a[j])
{
j = j - 1;
}
if(i<j)
{
a[i] = a[j];
i=i+1;
}
while(i<j&&Major_Compare >= a[i])
{
i = i + 1;
}
if(i<j)
{
a[j] = a[i];
j=j-1;
}
}
a[i] = Major_Compare;
return i;
}
void QuickSort(double a[], int low, int high)
{
int Position;
if(low < high)
{
Position = Partition(a,low,high);
QuickSort(a, low, Position-1);
QuickSort(a, Position+1, high);
}
}
int main()
{
double a[MAX];
int i = 0;
for(; i < MAX; i++)
{
scanf("%lf",&a[i]);
}
QuickSort(a,0,MAX-1);
for(i=0; i < MAX; i++)
{
printf("%lf\n",a[i]);
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?