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 + -
显示快捷键?