当前位置: 首页 > news >正文

简单排序c语言版

参考视频:

数据结构合集 - 简单选择排序(选择排序)(算法过程, 效率分析, 稳定性分析)_哔哩哔哩_bilibili

核心规则:

将最前面的数,当做是最小值,在剩下的数中找到真正最小的值去交换

6-11 简单选择排序

分数 20

作者 启迪-数据结构教研组

单位 广西科技大学

利用简单选择排序算法,将顺序表L中的元素从小到大进行排序。

函数接口定义:

void SimpleSelectionSort(List L);

其中List结构定义如下:

struct LNode{ int Data[MAXSIZE]; //Data为待排序序列数组 int Last; //Last为最后一个元素的数组下标 }; typedef struct LNode *List;

裁判测试程序样例:

#include<stdio.h> #include<stdlib.h> #define MAXSIZE 1000 struct LNode{ int Data[MAXSIZE]; //Data为待排序序列数组 int Last; //Last为最后一个元素的数组下标 }; typedef struct LNode *List; void SimpleSelectionSort(List L); List Create() { List L; L = (List)malloc(sizeof(struct LNode)); int j = 0,ch; /*输入待排序序列,输入 ctrl+Z 结束*/ while(scanf("%d",&ch)!=EOF) { L->Data[j] = ch; j++; } L->Last = j-1; return L; } int main() { int i; List L = Create(); SimpleSelectionSort(L); for(i=0;i<=L->Last;i++) printf("%d ",L->Data[i]); return 0; } /* 请在这里填写答案 */

输入样例:

99 66 45 33 37 10 22 13

输出样例:

10 13 22 33 37 45 66 99

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

C (gcc)

void SimpleSelectionSort(List L) { int i, j, min_idx, temp; // 外层循环:确定待排序区间的起始位置 i for (i = 0; i < L->Last; i++) { // 假设当前区间第一个元素是最小值 min_idx = i; // 内层循环:在待排序区间 [i, L->Last] 找最小值的下标 for (j = i + 1; j <= L->Last; j++) { if (L->Data[j] < L->Data[min_idx]) { min_idx = j; } } // 交换当前区间第一个元素和最小值元素 if (min_idx != i) { temp = L->Data[i]; L->Data[i] = L->Data[min_idx]; L->Data[min_idx] = temp; } } }
http://www.jsqmd.com/news/131250/

相关文章:

  • 新手友好型AI平台:Anything-LLM安装配置图文教程
  • DLL 自动化生成工具dll-maker深度解析:从原理到实战
  • 都马上2026年了,你不会还不知道Claude Code 如何接入 GLM-4.7 模型吧?
  • 解密Terraform的VPC对等连接问题
  • Emuelec触摸屏校准兼容性操作指南
  • “数字文化×智慧教育”2025新生态论坛暨中国合伙人招商大会启动仪式将于12月30日在京召开(附活动方案)
  • 如何用Prometheus监控Anything-LLM服务状态?
  • 低成本高回报:基于Anything-LLM镜像的SaaS化变现路径
  • 程序化控制Inno Setup安装器
  • RISC-V指令集中断与异常机制深度剖析
  • es安装必备:JVM与内存参数调优操作指南
  • AI时代你不拥抱它,就得不到它的爱,信不信由你
  • 脚本工具 批量md转html
  • 什么是 API(应用程序编程接口)?
  • 基于USB协议的PLC调试接口设计实例
  • Multisim数据库未找到:教学场景下的核心要点
  • 快速排序算法:c++
  • 技术写作提效300%:用Anything-LLM辅助撰写文档
  • HBuilderX + uni-app 微信小程序项目从零实现指南
  • 解决Flutter项目中的`geolocator`依赖问题
  • 知识图谱构建一、知识图谱二、知识抽取三、知识融合#人工智能#具身智能#VLA#大模型#A
  • 降息预期落空!3800个股待涨!
  • vscode的colab扩展目前的一些问题
  • 基于用户行为分析优化Anything-LLM的推荐逻辑
  • 企业培训新方式:用Anything-LLM构建员工学习系统
  • 正则表达式:深入理解与应用
  • AI在工程调试中的能力边界_问题以及本质探讨
  • 从零实现多层板电源分割规则(AD操作)
  • 外包干了6天,技术明显退步。。。
  • 湖仓一体趋势下:AI与BI系统的协同演进