📄 quicksort.cpp
字号:
#include <iostream>
using namespace std;
void swap(long &i, long &j);
int partition(long list[], int low, int high);
void quicksort(long list[],int left, int right)
{
if(left < right)
{
int pos = partition(list, left, right);
quicksort(list, left, pos - 1);
quicksort(list, pos + 1, right);
}
}
int partition(long list[], int low, int high)
{
int pivpos = low;
long temp = list[pivpos];
long t;
for(int i = low + 1; i <= high; i++)
{
if(list[i] < temp)
{
pivpos++;
if(pivpos != i)
swap(list[pivpos], list[i]);
}
}
swap(list[low], list[pivpos]);
return pivpos;
}
void swap(long &i, long &j)
{
long tm = i;
i = j;
j = tm;
}
void main()
{
int number;
cin >> number;
long list[1000];
for(int i = 0;i < number; i++)
{
cin >> list[i];
}
quicksort(list, 0, number-1);
for(i = 0 ; i < number; i++)
{
cout << list[i] << endl;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -