📊
バブルソートのコード
*まだ一部しか変わらないので改善必須*
バブルソートのコード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