並べ替えアルゴリズムはC++の基本アルゴリズムで10個の数の並べ替えを実現する
2859 ワード
本文は个人的に青岛でコーヒーを饮む时突然思いついたのです...最近ではソートアルゴリズムに関する文章をいくつか書きたいので、家に帰ってから筆を執って発表しました.
バブルソートほう
道理:
ソートする数列に繰り返しアクセスし、2つの要素を一度に比較し、順序が間違っている場合は交換します.数列にアクセスするタスクは、交換が不要になるまで繰り返し停止することです.すなわち、数列がソートされて完了します.
バブルソートアルゴリズムは次のように動作します.
隣接する要素を比較します.1つ目が2つ目より大きい場合は、2つを交換します.
各ペアの隣接要素に対して同じタスクを行い、最初のペアから最初の最後のペアまで行います.この点では、最後の要素が最大の数になるはずです.
最後の要素を除いて、すべての要素について上記の手順を繰り返します.
比較する必要がなくなるまで、ますます少ない要素に対して次の手順を繰り返します.
サンプルコード:
毎日同じ理屈
もしあなたたちが青空なら、私は白い雲を引き立てたいです.もしあなたたちが花なら、私は付き添う草を作りたいです.もしあなた达が大木ならば、私は饰る绿の叶をしたいです......私は心から私があなたの生活の中で1つの楽しい音符になることができることを望んで、あなたの毎分のために祝福を持って行きます.
解析:2つの比較により、1回目のソートでは、最大の数88が最後尾a[9]に置かれます...9回目、a[1]=2、そしてソート完了
せんたくソートほう
道理:
選択ソートの基本思想は,n−i+1(i=1,2,...n−1)個の記載ごとにキーワードの最小の記載をソートシーケンスのi番目の記載として選択することである.
第i回単純選択ソートとは、n−i次キーワードの比較により、n−i+1個の記載の中からキーワードの最小の記載を選択し、第i個の記載との交換を停止することである.すべての記載がソートされるまでi-1回の比較を停止する必要があります.例えば、i回目の選択を停止すると、現在の候補記載の中からキーワードが最も小さいk番記載が選択され、i番目の記載との交換が停止される.
サンプルコード:
今日は遅くなって、スレ主の最近の期末試験を加えて、一度に書き終わらないで、また更新しましょう.
文章の終わりに、次のプログラマーのジョークの語録を共有します.道を尋ねると、熱気球を運転している人が道に迷ったことに気づきました.彼は飛行の高さを下げて、地面の一人を認識した.彼は高さを下げ続け、その人に向かって叫んだ.「失礼します.どこにいるか教えてくれませんか.」次の人は「はい.熱気球の中にいますね.30フィートの空を旋回しています」と言いました.熱気球の人は「IT部門で技術的な仕事をしているに違いない」と話しています.「そう」と地面の人は言った.「どうやって知ったの?」「ほほほ」と熱気球の人は言った.「あなたが教えてくれたことは技術的には正しいが、正しいのは役に立たない」.地上の人は「あなたは管理職に違いない」と言った.「そうだね」と熱気球の人は言った.「でも、どうして知ってるの?」「ほほほ」と、地面の上のあの人は言いました.「あなたはどこにいるか分からないし、あなたもどこに行くか分からない.あなたはいつも私があなたを助けることができることを望んでいます.あなたは今私たちと会ったばかりの時も元の場所にいましたが、今は私が間違っています」.
-----------------------------------------------------------オリジナル記事Byソートとアルゴリズム----------------------------------------------------
バブルソートほう
道理:
ソートする数列に繰り返しアクセスし、2つの要素を一度に比較し、順序が間違っている場合は交換します.数列にアクセスするタスクは、交換が不要になるまで繰り返し停止することです.すなわち、数列がソートされて完了します.
バブルソートアルゴリズムは次のように動作します.
隣接する要素を比較します.1つ目が2つ目より大きい場合は、2つを交換します.
各ペアの隣接要素に対して同じタスクを行い、最初のペアから最初の最後のペアまで行います.この点では、最後の要素が最大の数になるはずです.
最後の要素を除いて、すべての要素について上記の手順を繰り返します.
比較する必要がなくなるまで、ますます少ない要素に対して次の手順を繰り返します.
サンプルコード:
毎日同じ理屈
もしあなたたちが青空なら、私は白い雲を引き立てたいです.もしあなたたちが花なら、私は付き添う草を作りたいです.もしあなた达が大木ならば、私は饰る绿の叶をしたいです......私は心から私があなたの生活の中で1つの楽しい音符になることができることを望んで、あなたの毎分のために祝福を持って行きます.
#include<iostream>
using namespace std;
int main(){
//
int a[10]={15,13,2,3,6,5,88,-3,30,40};
int i,j,t;
for(i=0;i<9;i++){
for(j=0;j<(9-i);j++){
if(a[j]>a[j+1]){
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}// ,
}// 10 , 9 ,
for(i=0;i<10;i++){
cout<<a[i]<<'\t';
}
cout<<endl;
return 0;
}
解析:2つの比較により、1回目のソートでは、最大の数88が最後尾a[9]に置かれます...9回目、a[1]=2、そしてソート完了
せんたくソートほう
道理:
選択ソートの基本思想は,n−i+1(i=1,2,...n−1)個の記載ごとにキーワードの最小の記載をソートシーケンスのi番目の記載として選択することである.
第i回単純選択ソートとは、n−i次キーワードの比較により、n−i+1個の記載の中からキーワードの最小の記載を選択し、第i個の記載との交換を停止することである.すべての記載がソートされるまでi-1回の比較を停止する必要があります.例えば、i回目の選択を停止すると、現在の候補記載の中からキーワードが最も小さいk番記載が選択され、i番目の記載との交換が停止される.
サンプルコード:
#include<iostream>
using namespace std;
int main(){
//
int a[10]={15,13,2,3,6,5,88,-3,30,40};
int i,j,t,k=0;
for(i=0;i<9;i++){
k=i;
for(j=i+1;j<10;j++){
if(a[j]<a[k]){
k=j;
}
}
t=a[k];
a[k]=a[i];
a[i]=t;
}
for(i=0;i<10;i++){
cout<<a[i]<<'\t';
}
cout<<endl;
return 0;
}
今日は遅くなって、スレ主の最近の期末試験を加えて、一度に書き終わらないで、また更新しましょう.
文章の終わりに、次のプログラマーのジョークの語録を共有します.道を尋ねると、熱気球を運転している人が道に迷ったことに気づきました.彼は飛行の高さを下げて、地面の一人を認識した.彼は高さを下げ続け、その人に向かって叫んだ.「失礼します.どこにいるか教えてくれませんか.」次の人は「はい.熱気球の中にいますね.30フィートの空を旋回しています」と言いました.熱気球の人は「IT部門で技術的な仕事をしているに違いない」と話しています.「そう」と地面の人は言った.「どうやって知ったの?」「ほほほ」と熱気球の人は言った.「あなたが教えてくれたことは技術的には正しいが、正しいのは役に立たない」.地上の人は「あなたは管理職に違いない」と言った.「そうだね」と熱気球の人は言った.「でも、どうして知ってるの?」「ほほほ」と、地面の上のあの人は言いました.「あなたはどこにいるか分からないし、あなたもどこに行くか分からない.あなたはいつも私があなたを助けることができることを望んでいます.あなたは今私たちと会ったばかりの時も元の場所にいましたが、今は私が間違っています」.
-----------------------------------------------------------オリジナル記事Byソートとアルゴリズム----------------------------------------------------