选择排序
选择排序
/************************************************************
* file name: SelectSort.c
* author : 19870326073@163.com
* date : 2024/05/06
* function : 选择排序
* note :
*
* CopyRight (c) 2023-2024 19870326073@163.com All Right Reseverd
*
* ***********************************************************/
#include <stdio.h>
/***********************************************************
*
* 函数名称: SelectSort
* 函数功能: SelectSort
* 函数参数:
* @a :
* @b :
* 返回结果:
* 注意事项:
* 函数作者: 19870326073@163.com
* 创建日期: 2024/05/06
* 修改历史:
* 函数版本: V1.0
* ***********************************************************/
//选择排序﹑从序列中找到一个最小值元素,把最小值元素放在整个序列的首部,重复n轮,直到整个序列有序
void SelectSort(int buf[],int bufsize)
{
int min = 0; //记录最小值元素的下标
int temp = 0;//备份最小值元素的值
//需要比较n轮,每轮找到序列中的最小值元素
for (int n = 0; n < bufsize-1; ++n)
{
min = n;//假设每轮序列中的第一个元素是最小值元素
//找到序列中的最小值元素的下标
for (int i = n+1; i < bufsize; ++i)
{
//每轮需要通过比较的方式才可以确定最小值
if (buf[min] > buf[i] )
{
min = i;//更新当前的最小值元素的下标}
}
}
//找到最小值元素,需要把最小值元素和序列的首部元素进行交换
temp= buf[min];
buf[min] = buf[n];
buf[n] = temp;
}
}
int main(int argc,char * const argv[])
{
int n;
int A[10] = {5,6,4,7,8,9,3,1,2,12};
SelectSort(A,10);
for(n = 0; n < 10; n++)
{
printf("%d", A[n]);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY