int[] arr = {800,11,50,771,649,770,240, 9};
int temp = 0;
for (int write = 0; write < arr.Length; write++)
{
for (int sort = 0; sort < arr.Length - 1; sort++)
{
if (arr[sort] > arr[sort + 1])
{
temp = arr[sort + 1];
arr[sort + 1] = arr[sort];
arr[sort] = temp;
}
}
Console.Write("{0} ", arr[write]);
}
我所要做的就是用這個數組進行簡單的氣泡排序。我想弄清楚爲什麼排序是搞砸了。 在例如,下面是當數組是{800,11,50,771,649,770,240, 9}
:簡單的氣泡排序c#
這裏是獲取顯示:11, 50, 649, 9, 649, 770, 771, 800
我想,我可能會丟失在比較的東西。
你是外循環,從開始到去年底,應該是年底開始!你內在的循環也應限制在寫入的值。 – Polity
@Polity:我不相信這是正確的。如答案所示,外部循環是正確的。儘管你對內部循環是正確的。 –
我希望這只是一個學習數組操作的練習? 我不能想到任何應用程序的氣泡排序將是'最佳'的排序策略。如果只是爲了演示/心理練習,那麼很好,但如果你使用這個是真實世界的應用程序,或許你應該看看其他的「排序」算法。 – Th3Minstr3l