6-1 选择排序

cpp 复制代码
#include <stdio.h>

#define N 1000
int arr[N];

/* 对长度为n的数组arr执行选择排序 */
void selectionSort(int arr[], int n);

/* 打印长度为n的数组arr */
void printArray(int arr[], int n);

void swap(int *xp, int *yp) {
    int temp = *xp;
    *xp = *yp;
    *yp = temp;
}

int main() {
    int n, i;
    scanf("%d", &n);
    for (i = 0; i < n; ++i) {
        scanf("%d", &arr[i]);
    }
    selectionSort(arr, n);
    printArray(arr, n);
    return 0;
}
/* 打印长度为n的数组arr */
void printArray(int arr[], int n) {
    int i;
    for (i = 0; i < n; i++) {
        printf("%d", arr[i]);
        if (i < n - 1)  /* 下标0..n-2每个元素后面有个空格 */
            printf(" ");/*下标n-1,也就是最后一个元素后面没有空格*/
    }
    printf("\n");/* 一行打印完后换行 */
}

/* 你的代码将嵌在这里 */

输入样例:

10

1 19 9 11 4 3 5 8 10 6

输出样例:

1 3 4 5 6 8 9 10 11 19

solution

c 复制代码
void selectionSort(int arr[], int n){
	for(int i = 0; i < n; i++){
		for(int j = i + 1; j < n; j++){
			if(arr[i] > arr[j]) swap(arr + i, arr + j);
		}
	}
} 
相关推荐
SimpleLearingAI1 分钟前
大模型推理框架总结解析
算法
Σίσυφος19006 分钟前
正则化数据并校准数据
人工智能·算法·机器学习
HZ·湘怡9 分钟前
基于动态数组的栈(顺序栈)01
数据结构·算法
Chen_harmony10 分钟前
十八、C语言内存函数
c语言·算法
__Coffee__28 分钟前
封装矩阵结构体
线性代数·算法·矩阵
变量未定义~36 分钟前
字符串哈希匹配字符串
数据结构·算法·哈希算法
周末也要写八哥40 分钟前
浅谈二叉树的深度优先搜索(DFS)算法
算法·深度优先
y = xⁿ1 小时前
20天速通LeetCodeday17:一维动态规划
算法
bnmoel1 小时前
数据结构深度剖析栈与队列:结构、边界实现与进出操作全解析
c语言·数据结构·算法··队列
WL_Aurora1 小时前
Python 算法基础篇之查找算法(一):顺序查找、二分查找与插值查找
开发语言·python·算法