当前位置: 首页 > 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.gsyq.cn/news/144138.html

相关文章:

  • 低成本高回报:基于Anything-LLM镜像的SaaS化变现路径
  • es安装必备:JVM与内存参数调优操作指南
  • RISC-V指令集中断与异常机制深度剖析
  • 技术写作提效300%:用Anything-LLM辅助撰写文档
  • 正则表达式:深入理解与应用
  • 外包干了6天,技术明显退步。。。
  • 工业控制设备PCB绘制电源布局操作指南
  • 开源大模型新玩法:基于Anything-LLM的技术博客生成实战
  • 新手必读:vivado固化程序烧写常见误区与避坑指南
  • 智能小车电机驱动电路设计:手把手教程(从零实现)
  • 避免重复提问:Anything-LLM会话记忆机制揭秘
  • CMake 常用预设命令说明
  • 一文说清risc-v五级流水线cpu的五大阶段工作原理
  • 对比主流RAG工具:Anything-LLM有哪些独特优势?
  • Python 常用特殊变量与关键字详解
  • 三极管饱和与截止状态:图解说明易理解
  • HBuilderX下载与安装(Windows):手把手带你完成每一步
  • 支持多种格式上传!Anything-LLM助力企业智能化升级
  • Python 多线程详解(概念、初始化方式、线程间变量传递、线程锁以及一些注意事项)
  • 轻松实现文档智能检索:Anything-LLM核心功能演示
  • 支持多模型切换的Anything-LLM究竟有多强大?
  • 博途HSP文件安装失败报错原因
  • 三极管结构与类型:初学者的图解说明
  • CDN加速静态资源:提升全球访问速度
  • HBuilderX安装教程:图解说明各组件功能
  • 基于Anything-LLM的多租户系统设计思路探讨
  • 高速PCB中EMI抑制的实用技术:操作指南
  • 云市场镜像上架:AWS/Azure/GCP官方商店入驻
  • vault分生产和dev吗?也就是说是否支持在一个azure app中创建vault,但是分为生产和dev,而不是为生产和dev分别创建一个app
  • mysql.connector.errors.OperationalError: 1040 (08004): Too many connections