配列ソートのバブル法と選択法

1922 ワード

ソートは、1次元配列で最も古典的な一般的な操作です.今回は、泡立ちソート法と簡単な選択ソート法についてお話しします.
一.泡のソート:1.アルゴリズム:1>.基本思想:並べ替えの過程で元素を2つ比較すると、小さい元素ほど交換を通じて徐々に‘‘‘‘‘‘‘‘’が配列の一番前(低標所)に浮かび上がり、気泡のようにゆっくりと浮かび上がる.2>.本質:第1のバブル:配列n-1の下付き要素から0の下付き要素まで遍歴し、隣接する要素のペアを比較し、後の要素が前の要素より小さい場合は交換する.1回目の終了時には、最小要素''が浮かび上がって''0の下付き位置に達します.第2のバブル:配列n-1の下付き要素から1の下付き要素まで遍歴し(0の下付き要素はすでに最小要素であるため、すでに到着しており、比較に参加する必要はない)、隣接する要素のペアを比較し、後の要素が前の要素より小さい場合は交換する.2回目が終わると、この最小要素は1下の位置に達します.このようにして,最大n−1回の泡が立ち,並べ替えが完了する.3>.コードは次のように実装されます.
#include
#define SIZE 10
void print(int a[],int n)
{
	int i;
	printf("The array is:
"); for(i=0;ii;j--) // , if(a[j]SIZE); printf("Please input %d elements:",n); for(i=0;i

二.選択法ソート:1.アルゴリズム:1>.本質:最大(小)要素を絶えず検索するプロセス.1回目:n個の要素の中で最も小さい要素と最初の要素を交換します.2回目:n-1個の元素の中で最小の元素と2個目の元素を交換する.・・・・n-1回目:最後の2つの要素を比較する、n-1番目の要素の位置に小さい2>.基本思想:配列を左右の2つの半区に分けて、左半区は秩序のあるサブセットで、右半区はn-1回の選択です.各選択は、無秩序サブセット(右半分)で最小要素を選択し、無秩序サブセットの最初の要素と交換し、その要素を秩序サブセットに組み込みます.合計n-1回のソートを行い、1回に最大1回交換します.3>.データ構造:配列、ネストループ、今回の検索最小値の下にある変数、交換された中間変数4>を記録する.コードは次のように実装されます.
#include
void Input(int *pa,int n)
{
	int i;
	printf("Plaese input %d elements:
",n); for(i=0;i10); Input(a,n); // , printf("The original array is:
"); Output(a,n); // , sort(a,n); // , printf("The sorted array is:
"); Output(a,n); // , return 0; }
            ,    。