news 2026/4/23 11:17:19

简单排序c语言版

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
简单排序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; } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 21:23:11

DLL 自动化生成工具dll-maker深度解析:从原理到实战

DLL自动化生成工具dll-maker深度解析&#xff1a;从原理到实战 衡度人生dll制作面板项目体验地址 面对传统DLL开发中的繁琐流程&#xff0c;你是否渴望一种更高效的解决方案&#xff1f;dll-maker或许正是你寻找的答案。 引言&#xff1a;DLL开发的痛点与挑战 在Windows平…

作者头像 李华
网站建设 2026/4/18 14:38:17

Bevy插件设计与参数化实例

在使用Bevy进行游戏开发时,插件(Plugin)是一个非常强大的工具,它允许我们将一组相关的系统、资源和事件组织到一个独立的单元中。但是,当我们想要多次添加同一个插件但使用不同的参数时,可能会遇到一些限制。本文将通过一个具体的实例来展示如何通过Bevy的插件系统实现这…

作者头像 李华
网站建设 2026/4/19 5:42:04

对比主流RAG工具:Anything-LLM有哪些独特优势?

对比主流RAG工具&#xff1a;Anything-LLM有哪些独特优势&#xff1f; 在企业知识管理日益智能化的今天&#xff0c;一个常见的挑战浮出水面&#xff1a;如何让大语言模型真正“懂”你的业务&#xff1f;许多团队尝试接入GPT类模型后发现&#xff0c;尽管它们能流畅回答通用问题…

作者头像 李华
网站建设 2026/4/17 8:53:25

基于USB协议的PLC调试接口设计实例

从串口到USB&#xff1a;如何为PLC打造高效现代的调试接口 在一间灯火通明的自动化车间里&#xff0c;工程师正蹲在控制柜前&#xff0c;手里握着一根老旧的RS-232串口线&#xff0c;试图连接一台正在运行的PLC。电脑上的调试软件迟迟无法识别设备——这场景你是否似曾相识&am…

作者头像 李华
网站建设 2026/4/11 4:00:04

RISC-V指令集中断与异常机制深度剖析

RISC-V中断与异常机制&#xff1a;从硬件触发到软件响应的全链路解析你有没有遇到过这样的场景&#xff1f;一个简单的GPIO按键按下&#xff0c;系统却要几十微秒后才响应&#xff1b;或者在调试裸机程序时&#xff0c;代码突然“无声无息”地跳转到了某个未知地址——其实&…

作者头像 李华
网站建设 2026/4/15 11:50:02

一文说清risc-v五级流水线cpu的五大阶段工作原理

深入拆解RISC-V五级流水线CPU&#xff1a;从取指到写回的完整运行机制你有没有想过&#xff0c;一条简单的add x1, x2, x3指令&#xff0c;是如何在一个时钟周期内“悄无声息”地完成计算并更新寄存器的&#xff1f;在现代处理器中&#xff0c;这背后靠的正是流水线技术——就像…

作者头像 李华