循序渐进学习C语言选择排序算法

2018-06-13 06:52:04闫鑫王琴竹
现代计算机 2018年14期
关键词:排序

闫鑫,王琴竹

(1.山西财经大学信息管理学院,太原 030006;2.运城学院公共计算机教学部,运城 044000)

0 引言

《C语言程序设计》课程不仅是计算机专业必修的一门专业基础课,而且是非计算机理工类各专业计算机基础教育的重要组成部分。学生学习《C语言程序设计》课程的主要目的是锻炼思维能力,并能应用所学知识解决实际问题。

在《C语言程序设计》课程的学习内容中,算法是非常重要的组成部分,在培养学生的思维能力方面起着至关重要的作用[1]。在要求掌握的各个典型算法中,排序算法尤其是选择排序算法是最难掌握的算法之一。

本文首先介绍顺序结构程序设计中的交换算法,这是选择排序算法的基础。其次,应用选择结构程序设计中的单分支if语句和比较交换排序思想,实现了三个数、四个数的排序;应用循环结构程序设计中的for语句、数组数据结构和比较交换排序思想,实现了N个数的排序。针对比较交换排序算法效率低的问题,在其中结合假设思想,应用选择排序算法实现N个数的排序。

1 交换算法

问题描述:已知变量x的值是2,y的值是1,编写程序使x和y中的数据按升序排序。

算法分析:借助第三个变量,交换变量x和y的值即可。

应用C语言编写的交换算法代码如下:t=x;x=y;y=t;

可见,应用交换算法实现了x和y两个数据的升序排序。

2 比较交换排序

在程序设计中,一般要求所设计的算法具有通用性[2]。因此,假设x和y的值是在程序运行过程中输入的,则需要对x和y的值进行比较。……

登录APP查看全文

猜你喜欢
排序
排排序
作者简介
名家名作(2021年9期)2021-10-08 01:31:36
作者简介
名家名作(2021年4期)2021-05-12 09:40:02
作者简介(按文章先后排序)
名家名作(2021年3期)2021-04-07 06:42:16
恐怖排序
律句填空排序题的备考策略
节日排序
刻舟求剑
儿童绘本(2018年5期)2018-04-12 16:45:32
作者简介(按文章先后排序)
名家名作(2017年2期)2017-08-30 01:34:24
2010年