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]);
}
Tất cả những gì tôi đang cố làm là sắp xếp bong bóng đơn giản với mảng này. Tôi muốn tìm ra lý do tại sao việc phân loại lại hơi say. Trong ví dụ, ở đây là khi mảng là {800,11,50,771,649,770,240, 9}
:Loại bong bóng đơn giản C#
Đây là những gì được hiển thị: 11, 50, 649, 9, 649, 770, 771, 800
Tôi nghĩ rằng tôi có thể bị mất một cái gì đó trong sự so sánh.
Cậu vòng ngoài đi từ đầu đến cuối, nên cuối để bắt đầu! bạn cũng là vòng lặp bên trong nên được giới hạn trong giá trị của viết. – Polity
@ Thành thật: Tôi không tin điều đó đúng. Như câu trả lời cho thấy, vòng lặp bên ngoài là chính xác như là. Bạn nói đúng về vòng lặp bên trong. –
Tôi hy vọng đây chỉ là một bài tập trong việc học các thao tác mảng? Tôi không thể nghĩ ra bất kỳ ứng dụng nào mà Bubble Sort sẽ là chiến lược phân loại 'tối ưu'. Nếu nó chỉ là để trình diễn/tinh thần tập thể dục sau đó tốt, nhưng nếu bạn đang sử dụng này là một ứng dụng thực tế có lẽ bạn nên xem xét một số thuật toán 'sắp xếp' khác. – Th3Minstr3l