C#에서 선택 정렬 알고리즘을 구현하는 방법
선택 정렬은 간단하고 직관적인 정렬 알고리즘으로, 기본 아이디어는 매번 정렬할 요소 중에서 가장 작은(또는 가장 큰) 요소를 선택하여 배치하는 것입니다. 정렬된 순서가 끝났습니다. 모든 요소가 정렬될 때까지 이 과정을 반복합니다.
C#에서 선택 정렬 알고리즘을 구현하는 방법에 대해 자세히 알아보고 구체적인 코드 예제를 첨부해 보겠습니다.
public static int[] SelectionSort(int[] arr) { int n = arr.Length; // 遍历数组 for (int i = 0; i < n - 1; i++) { int minIndex = i; // 在未排序部分中找到最小元素的索引 for (int j = i + 1; j < n; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } } // 将最小元素与未排序部分的第一个元素交换位置 int temp = arr[minIndex]; arr[minIndex] = arr[i]; arr[i] = temp; } return arr; }
class Program { static void Main(string[] args) { int[] arr = { 64, 25, 12, 22, 11 }; Console.WriteLine("原始数组:"); PrintArray(arr); // 调用选择排序方法对数组进行排序 int[] sortedArr = SelectionSort(arr); Console.WriteLine("排序后的数组:"); PrintArray(sortedArr); } // 打印数组 static void PrintArray(int[] arr) { foreach (int element in arr) { Console.Write(element + " "); } Console.WriteLine(); } }
위 예제 프로그램에서는 정렬의 예로 5개의 정수가 포함된 배열을 사용했습니다. 먼저 원본 배열을 인쇄한 다음 선택 정렬 메서드를 호출하여 정렬하고 마지막으로 정렬된 배열을 인쇄합니다.
原始数组: 64 25 12 22 11 排序后的数组: 11 12 22 25 64
프로그램을 실행해보면 원래 배열이 선택 정렬 알고리즘에 의해 처리된 후 순서 배열로 변환된 것을 확인할 수 있습니다.
요약:
선택 정렬은 간단하지만 비효율적인 정렬 알고리즘입니다. 시간 복잡도는 O(n^2)이며 소규모 배열을 정렬하는 데 적합합니다. 실제 응용에서는 빠른 정렬, 병합 정렬 등과 같은 선택 정렬을 대체하기 위해 보다 효율적인 정렬 알고리즘을 사용할 수 있습니다.
이 글의 소개와 코드 예제가 모든 사람이 선택 정렬 알고리즘을 더 잘 이해하고 적용하는 데 도움이 되기를 바랍니다.
위 내용은 C#에서 선택 정렬 알고리즘을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!