用选择排序法对10个整数进行排序[1,12,4,9,10,22,-7,0,99,8],c语言
时间: 2023-06-04 11:02:49 浏览: 141
实现。
好的,以下是用C语言实现选择排序法对10个整数进行排序的代码:
```
#include<stdio.h>
int main() {
int arr[10] = {1,12,4,9,10,22,-7,0,99,8};
int i, j, min_index, temp;
for (i = 0; i < 9; i++) {
min_index = i;
for (j = i + 1; j < 10; j++) {
if (arr[j] < arr[min_index]) {
min_index = j;
}
}
temp = arr[i];
arr[i] = arr[min_index];
arr[min_index] = temp;
}
printf("排序后的结果为: ");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
排序后的结果为: -7 0 1 4 8 9 10 12 22 99
```
相关问题
选择排序法 用选择排序法对10个整数进行排序[1,12,4,9,10,22,-7,0,99,8]
以下是使用选择排序法对给定的10个整数进行排序的示例代码:
```c
#include <stdio.h>
void selectionSort(int arr[], int n) {
int i, j, minIndex, temp;
for (i = 0; i < n-1; i++) {
minIndex = i;
for (j = i+1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
int main() {
int arr[10] = {1, 12, 4, 9, 10, 22, -7, 0, 99, 8};
int i;
printf("排序前的数组:");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
selectionSort(arr, 10);
printf("\n排序后的数组:");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
运行结果:
```
排序前的数组:1 12 4 9 10 22 -7 0 99 8
排序后的数组:-7 0 1 4 8 9 10 12 22 99
```
用选择排序法对10个整数进行排序[1,12,4,9,10,22-7,0,99,8]
选择排序(Selection Sort)是一种简单直观的排序算法。它的基本思想是在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(或最大)元素,放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
下面是使用C语言实现选择排序算法对给定的数组进行升序排序的过程:
```c
#include <stdio.h>
// 选择排序函数
void selectionSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
// 找到剩余元素中的最小值
int min_idx = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
// 将找到的最小值与当前位置交换
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
}
int main() {
int numbers[] = {1, 12, 4, 9, 10, 22, -7, 0, 99, 8};
int array_size = sizeof(numbers) / sizeof(numbers[0]);
printf("Original array:\n");
for (int i = 0; i < array_size; i++) {
printf("%d ", numbers[i]);
}
selectionSort(numbers, array_size);
printf("\nSorted array using Selection Sort:\n");
for (int i = 0; i < array_size; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
```
运行这段代码后,你会看到原始数组和经过选择排序后的升序数组。
阅读全文