📊

バブルソートのコード

2024/02/06に公開

バブルソートのコード
*まだ一部しか変わらないので改善必須*

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BubbleSortScript : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
// ソート対象の配列を定義(例)
int[] arrayToSort = { 5, 3, 8, 2, 1 };

    // バブルソートを実行
    BubbleSort(arrayToSort);

    // ソート後の配列を表示
    foreach (var item in arrayToSort)
    {
        Debug.Log(item);
    }
}

void BubbleSort(int[] a)
{
    bool isEnd = false;
    int finAdjust = 1; // 最終添え字の調整値
    while (!isEnd)
    {
        bool loopSwap = false;
        for (int i = 0; i < a.Length - finAdjust; i++)
        {
            if (a[i] < a[i + 1])
            {
                Swap(ref a[i], ref a[i + 1]);
                loopSwap = true;
            }
        }
        if (!loopSwap) // Swapが一度も実行されなかった場合はソート終了
        {
            isEnd = true;
        }
        finAdjust++;
    }
}

// 2つの要素を交換するメソッド
void Swap(ref int a, ref int b)
{
    int temp = a;
    a = b;
    b = temp;
}

}

Discussion