简单排序法

<pre class="cpp" name="code">//插入排序
#include<stdio.h>
int main()
{
	int n,i,j,a[100];
	a[0]=NULL;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		scanf("%d",&a[i]);
	for(i=2;i<=n;i++)
	{
		if(a[i]<a[i-1])
		{
			a[0]=a[i];
			for(j=i-1;a[0]<a[j];j--)
				a[j+1]=a[j];
			a[j+1]=a[0];
		}
	}
	for(i=1;i<=n;i++)
		printf("%d ",a[i]);
	printf("\n");
	return 0;
}

//起泡排序
#include<stdio.h>
int main()
{
	int n,i,j,s,a[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n;i++)
	{
		for(j=0;j<n-1-i;j++)
		{
			if(a[j+1]<a[j])
			{
				s=a[j];
				a[j]=a[j+1];
				a[j+1]=s;
			}
		}
	}
	for(i=0;i<n;i++)
		printf("%d ",a[i]);
	printf("\n");
	return 0;
}


 //选择排序
#include<stdio.h>
int main()
{
	int n,i,j,k,a[100],s;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n;i++)
	{
		j=i;
		for(k=j+1;k<n;k++)
		{
			if(a[j]>a[k])
				j=k;
		}
		if(i!=k)
		{
			s=a[j];
			a[j]=a[i];
			a[i]=s;
		}
	}
	for(i=0;i<n;i++)
		printf("%d ",a[i]);
	printf("\n");
	return 0;
}


posted @ 2014-07-27 10:17  NYNU_ACM  阅读(204)  评论(0编辑  收藏  举报