#include<stdio.h>
typedef struct Array{
int key;
}Array;
#define LENGTH 10
void SelectSort(Array A[], int n);
void Swap(int *a,int *b);
int main() {
int arr[LENGTH] = { 1,5,3,7,4,23,14,25,16,27 };
int index = 1;
Array A[LENGTH+1];
while (index<=LENGTH) {
A[index].key = arr[index - 1];
printf("排序前:%d \n", A[index].key);
index++;
}
printf("***************\n");
SelectSort(A,LENGTH);
index = 1;
while (index <= LENGTH) {
printf("排序后:%d \n", A[index].key);
index++;
}
getchar();
return 0;
}
void Swap(int *A,int *B) {
int temp;
temp = *A;
*A = *B;
*B = temp;
}
void SelectSort(Array A[],int n) {
int i,j,min;
for (i = 0; i < n - 1; i++) {
min = i;
for (j = i + 1; j < n; j++) {
if (A[j].key < A[min].key)
min = j;
if (min != i)
Swap(&A[i].key, &A[min].key);
}
}
}C:C的排序算法:简单选择排序(SelectSort)
最新推荐文章于 2026-05-09 10:38:54 发布
本文通过C语言实现了一个简单的选择排序算法,展示了如何定义结构体并利用选择排序对其进行排序的过程。通过对排序前后数组元素的输出,验证了算法的有效性。
&spm=1001.2101.3001.5002&articleId=79497405&d=1&t=3&u=498d96a9a1c240ada9009151f19fab2a)
1034

被折叠的 条评论
为什么被折叠?



