アルゴリズム2の基礎

基本的なアルゴリズムのバブルソート。

基本的な考え方

隣接する二つの要素の各比較は、自分の順番が間違っていた場合、彼は、要素の次のセットを決定するために継続的に責任を交換します。小から大へ、位置のより多くが越後する場合は、各要素エンド要素の次のセットを比較し、番号が1つ減少します。

以下を達成するためのコード

#include<stdio.h>

int main ()
{
	int a[100];
	int i,j,temp,n;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	scanf("%d",&a[i]); //数据准备阶段
	for(i=1;i<=n-1;i++) //只需要到达n-1就可以了
	{
		for(j=1;j<=n-i;j++) //想想为什么到达n-i就可以了
		{
			if(a[j]<a[j+1])
			{
				temp=a[j]; //通过temp坐中间变量交换两个元素
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
	}
	for(i=1;i<=n;i++) //输出结果
	printf("%d ",a[i]);
	
	getchar(); getchar();
	return 0;
}

入力検証値

10
152 78 9 0 1000 278 80 73 11 500

業績は以下のとおりです。

0 9 11 73 78 80 152 278 500 1000

リマーク

単にそれにステートメントを変更することで、降順かどうかを判断するために、

公開された12元の記事 ウォンの賞賛0 ビュー724

おすすめ

転載: blog.csdn.net/weixin_43252204/article/details/83586686