用代码写一下选择排序
时间: 2024-09-14 16:14:16 浏览: 15
选择排序也是一种简单直观的排序算法,它的工作原理是每趟从未排序的数据中选出最小(或最大)的一个元素,存放在排序序列的起始位置,然后再从剩余未排序数据中继续寻找最小(大)元素,然后放到已排序序列的末尾。如此反复,直至所有数据均排好序。
以下是C#中选择排序的一个实现例子:
```csharp
public static void 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;
}
}
// 把找到的最小值放到已排序部分的末尾
if (minIndex != i)
{
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
```
相关问题
用C++写选择排序代码。
好的,以下是用C++写的选择排序代码:
```c++
#include <iostream>
using namespace std;
void selectionSort(int arr[], int n) {
int i, j, min_idx;
for (i = 0; i < n-1; i++) {
min_idx = i;
for (j = i+1; j < n; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
swap(arr[i], arr[min_idx]);
}
}
int main() {
int arr[] = {64, 25, 12, 22, 11};
int n = sizeof(arr)/sizeof(arr[0]);
selectionSort(arr, n);
cout << "Sorted array: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
这段代码中,我们定义了一个 `selectionSort` 函数来实现选择排序。该函数接受两个参数:数组 `arr` 和数组元素个数 `n`。在函数中,我们使用两个循环来遍历数组,找到未排序部分中的最小值,然后将其与当前位置的元素交换。最后,我们在 `main` 函数中调用 `selectionSort` 函数并输出排序后的数组。
写出简单选择排序的代码
选择排序是一种简单的排序算法,其基本思想是每一次从未排序的数据元素中选出最小(或最大)的一个,存放在已排序序列的末尾。以下是使用Python编写的简单选择排序的代码:
```python
def selection_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# 找到剩余元素中的最小值
min_idx = i
for j in range(i+1, n):
if arr[j] < arr[min_idx]:
min_idx = j
# 将找到的最小元素与当前位置的元素交换
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
# 示例:
arr = [64, 25, 12, 22, 11]
sorted_arr = selection_sort(arr)
print("Sorted array:", sorted_arr)