(テストを含む)(Cは++)に挿入され、選択された、バブルソートアルゴリズムのソースコード

本研究では、ユースケースが郭威の「プログラミングとアルゴリズム」に基づいており
、「データ構造+アルゴリズム=:コバンの目には、当然のベストデータ構造であり、マスター・データ構造は価値が尋ねたようにそれがある、より良い明日のプログラムを持つことですこれは、インサートを与える」プログラミング、選択して、ソースをバブリングすることは、我々はあまりにも強い男という、その背後に戸口を把握することができる本当の希望です!
まず、ソートを選択

#include<iostream>
#include<cstring>
using namespace std;
void SelectionSort(int a[],int size){
	for(int i=0;i<size-1;i++){
		int temp = i;
		for(int j=i+1;j<size;j++){
			if(a[j]<a[temp])
				temp = j;
		}
		int tp = a[i];
		a[i] = a[temp];
		a[temp] = tp;
	}
}
int main()
{
	int a[5]={3,5,8,2,7};
	for(int i=0;i<5;i++)
		cout << a[i] << "," ;
	SelectionSort(a,5);
	cout << endl;
	for(int i=0;i<5;i++)
		cout << a[i] << "," ;	
	return 0;
}

要約:前記コアコード、最大値(最小値)は交換ラインを通過した後、標識されている見つけるために、背面に比べ、最初の要素から始まる、O(N)の時間複雑
第二に、挿入ソート

#include<cstring>
#include<iostream>
using namespace std;
void InsertionSort(int a[],int size)
{
	for(int i=1;i<size;i++){
		for(int j=0;j<i;j++){
			if(a[j]>a[i]){
				int temp = a[i];
				for(int k=i;k>j;--k)
					a[k]=a[k-1];
				a[j]=temp;
				break;
			}
		}
	}
}
int main(){
	int a[5]={3,5,8,2,7};
	for(int i=0;i<5;i++)
		cout << a[i] << "," ;
	InsertionSort(a,5);
	cout << endl;
	for(int i=0;i<5;i++)
		cout << a[i] << "," ;	
	return 0;
}

要約:アレイが左右に分割されているが、無秩序右の順序を左、目標は、アレイ要素の数がゼロになるまで無秩序また、特別なヒントがある、整然としたデジタル無秩序に挿入されますコアアルゴリズムの順に保存されているリニアテーブルのデータ構造に挿入された要素を、移動している、希望は理解する価値があります!
第三に、バブルソート

#include<iostream>
using namespace std;
void BubbleSort(int a[],int size){
	for(int i=size-1;i>0;--i){
		for(int j=0;j<i;++j){
			if(a[j]>a[j+1]){
				int temp = a[j];
				a[j] = a[j+1];
				a[j+1] = temp;
			}
		}
	}
}
int main()
{
	int a[5]={3,5,8,2,7};
	for(int i=0;i<5;i++)
		cout << a[i] << "," ;
	BubbleSort(a,5);
	cout << endl;
	for(int i=0;i<5;i++)
		cout << a[i] << "," ;	
	return 0;
	
}

概要:バブルソート配列が左右に分かれているが、為替の各サイズ比は、整然とした左は、右の無秩序、障害からの数字は、バブルのような爆破のように、バブルソートアルゴリズムがされて入ってきました!

公開された15元の記事 ウォンの賞賛2 ビュー159

おすすめ

転載: blog.csdn.net/m0_37149062/article/details/104800023