📄 sort.cpp
字号:
#include<iostream>
using namespace std;
///////////////////////////////////////////////////////////////////
//功能:冒泡排序
//输入:带排序数组及其元素个数
//输出:无
//////////////////////////////////////////////////////////////////
void BubbleSort(int r[], int n)
{
int temp;
int exchange;
int bound;
exchange=n-1; //第一趟冒泡排序的范围是r[0]到r[n-1]
while (exchange) //仅当上一趟排序有记录交换才进行本趟排序
{
bound=exchange;
exchange=0;
for (int j=0; j<bound; j++) //一趟冒泡排序
if (r[j]>r[j+1])
{
temp=r[j];
r[j]=r[j+1];
r[j+1]=temp;
exchange=j; //记录每一次发生记录交换的位置
}
}
for(int i=0;i<n;i++)
cout<<r[i]<<" ";
cout<<"\n";
}
///////////////////////////////////////////////////////////////////
//功能:快速排序
//输入:带排序数组,起始序号和结束序号
//输出:无
//////////////////////////////////////////////////////////////////
void QuickSort(int r[], int first, int end)
{
if(first<end)
{
int i=first;
int j=end;
int temp;
while (i<j)
{
while (i<j && r[i]<= r[j])
j--; //右侧扫描
if (i<j)
{
temp=r[i]; //将较小记录交换到前面
r[i]=r[j];
r[j]=temp;
i++;
}
while (i<j && r[i]<= r[j])
i++; //左侧扫描
if (i<j)
{
temp=r[j];
r[j]=r[i];
r[i]=temp; //将较大记录交换到后面
j--;
}
}
QuickSort(r,first,i-1);
QuickSort(r,i+1,end);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -