排序篇

一、桶排序

排序篇_第1张图片

桶排序:就是将相同元素放入一个数组,之后输出 

#include
using namespace std;
int main(void)
{
	int a[10]={0},t,i;
	for(i=0;i<5;i++)
	{
		scanf("%d",&t);
		a[t]++;
	}
	for(i=0;i<10;i++)
	{
		while(a[i]) printf("%d ",i),a[i]--;
	}
	return 0;
}
/*
测试数据: 
3 2 4 3 5*/

二、冒泡排序

复杂度O(N^2)

//冒泡排序
#include
using namespace std;
int a[10];
int main(void)
{
	int n,i,j;
	scanf("%d",&n);
	for(i=0;ia[j]) //从小到大 
			{
				int t=a[i];
				a[i]=a[j];
				a[j]=t;
			}
		}
	}
	for(i=0;i

 

三、快速排序

方法:找到一个基点,将小于基准点的数全部放到左边,大于基准点的数全部放到右边。

排序篇_第2张图片

//快速排序
#include
using namespace std;
int a[20];
void quick_sort(int l,int r)
{
	if(l>r) return ;
	int temp,i,j;
	temp=a[l]; //temp是基准数 
	i=l;
	j=r;
	while(i!=j)
	{
		while(temp<=a[j]&&i=a[i]&&i

 

 

你可能感兴趣的:(啊哈!算法)