⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sort.cpp

📁 内排序算法
💻 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 + -