プログラム設計では、いくつかの一般的なソートアルゴリズムがあります.


1.ソートの選択
#include <iostream>
using namespace std;
#include <cstdio>

int main()
{
	int i,j,n,a[100];
	cin >> n;
	for (i=0;i<n;i++)
	{
		cin >> a[i];
	}
	for (i=0;i<n;i++)
	{
		for (j=i+1;j<n;j++)
		{
			if (a[i]>a[j])
				swap(a[i],a[j]);
		}
	}
	int c=0;
	for (i=0;i<n;i++)
	{
		if(!c)
		{
			cout << a[i];c++;
		}
		else
			cout << " " << a[i];
	}
	cout << endl;
	return 0;
}

2.泡立ちソート
#include <iostream>
using namespace std;
#include <cstdio>

int main()
{
	int i,j,n,a[100];
	cin >> n;
	for (i=0;i<n;i++)
	{
		cin >> a[i];
	}
	for (i=0;i<n;i++)
	{
		for (j=0;j<n-i-1;j++)
		{
			if (a[j]>a[j+1])
				swap(a[j],a[j+1]);
		}
	}
	int c=0;
	for (i=0;i<n;i++)
	{
		if(!c)
		{
			cout << a[i];c++;
		}
		else
			cout << " " << a[i];
	}
	cout << endl;
	return 0;
}

3.クイックソート
#include <iostream>
using namespace std;
void quick_sort(int data[],int low,int high)
{
	int i,j,x;
	if(low < high)
	{
		x=data[low];
		i=low;
		j=high;
		while(i<j)
		{
			while(i<j&&data[j]>=x)
				j--;
			if(i<j)
				data[i++]=data[j];
			while(i<j&&data[i]<=x)
				i++;
			if(i<j)
				data[j--]=data[i];
		}
		data[i]=x;
		quick_sort(data,low,i-1);
		quick_sort(data,i+1,high);
	}
}

int main()
{
	int a[122];
	int n,i,c=0;
	cin >> n;
	for (i=0;i<n;i++)
		cin >> a[i];
	quick_sort(a,0,n-1);
	for (i=0;i<n;i++)
	{
		if(!c)
		{
			cout << a[i];
			c++;
		}
		else
			cout << " " << a[i];
	}
	cout <<endl;
	return 0;
}

4.ライブラリ関数qsort
  qsort(a,n,sizeof(int),cmp);
  int cmp(const void *a, const void *b)
  {return *(int *)a - *(int *b);}

5.sort関数
#include <algorithm>
int a[n];
sort(a,a+n);//(       );

ソートアルゴリズムの継続的な学習では、後で補完し、改善します.がんばれo(∩∩)oハハ.