プログラム 技術

バブルソートを理解する

前回に引き続き今回はバブルソートについてです

関連記事
クイックソートを理解する - ナストンのまとめ
クイックソートを理解する - ナストンのまとめ

学生時代に習ったソートアルゴリズムを改めてまとめたものとなります クイックソートって? ソートアルゴリズムの1つでソート ...

続きを読む

バブルソートって?

ソートアルゴリズムの1つで、処理時間が遅いものとなります
詳しくは以下のサイトが図解で分かりやすく記載されています

参考サイト
https://www.tomotaku.com/bubble-sort-algorithm
https://www.tomotaku.com/bubble-sort-algorithm

続きを読む

バブルソートを実装する

ランダム配列は前回の記事で作成したものを使用します。それでは実際にバブルソートをC++で実装してみます

template <typename T>
void bubbleSort(std::vector<T>& arr, int size) {

    for (int i = 0; i < size - 1; i++) {
        for (int k = 0; k < size - i - 1; k++) {
            // 隣り合った要素を比較し、順序が逆であれば交換
            if (arr[k] > arr[k + 1]) {
                std::swap(arr[k], arr[k + 1]);
            }
        }
    }
}

前回のクイックソートと比べるとシンプルなものとなります

実際に動かしてみる

検証用の配列を作成し、それをバブルソートで並び替えて結果を見てみましょう

std::vector<int> arr = RandomCreate();
int size = arr.size();

std::cout << "Original Array: ";
for (int i : arr) {
    std::cout << i << " ";
}
std::cout << std::endl;


bubbleSort(arr, size);

std::cout << "Sorted Array: ";
for (int i : arr) {
    std::cout << i << " ";
}
std::cout << std::endl;

バブルソートを用いて配列が並び変えられていることが確認できました

会社紹介

私が所属しているアドバンスド・ソリューション株式会社(以下、ADS)は一緒に働く仲間を募集しています

会社概要
「技術」×「知恵」=顧客課題の解決・新しい価値の創造

この方程式の実現はADSが大切にしている考えで、技術を磨き続けるgeekさと、顧客を思うloveがあってこそ実現できる世界観だと思っています
この『love & geek』の精神さえあれば、得意不得意はno problem!
技術はピカイチだけど顧客折衝はちょっと苦手。OKです。技術はまだ未熟だけど顧客と知恵を出し合って要件定義するのは大好き。OKです
凸凹な社員の集まり、色んなカラーや柄の個性が集まっているからこそ、常に新しいソリューションが生まれています

ミッション
私たちは、テクノロジーを活用し、業務や事業の生産性向上と企業進化を支援します

ホームページ
アドバンスド・ソリューション株式会社
アドバンスド・ソリューション株式会社

アドバンスド・ソリューションは主にMicrosoft製品を使用して、企業の生産性向上に取り組んでいます。要件定義から導入 ...

サイトへ移動

お問い合わせ
お問い合わせ  | アドバンスド・ソリューション株式会社
お問い合わせ | アドバンスド・ソリューション株式会社

お問い合わせはこちら

-プログラム, 技術
-