《教学课件C语言程序设计14一维数组的排序》由会员分享,可在线阅读,更多相关《教学课件C语言程序设计14一维数组的排序(10页珍藏版)》请在金锄头文库上搜索。
1、PPT模板下载:模板下载:/moban/ 行业行业PPT模板:模板:/hangye/ 节日节日PPT模板:模板:/jieri/ PPT素材下载:素材下载:/sucai/PPT背景图片:背景图片:/beijing/ PPT图表下载:图表下载:/tubiao/ 优秀优秀PPT下载:下载:/xiazai/ PPT教程:教程: /powerpoint/ Word教程:教程: /word/ Excel教程:教程:/excel/ 资料下载:资料下载:/ziliao/ PPT课件下载:课件下载:/kejian/ 范文下载:范文下载:/fanwen/ 试卷下载:试卷下载:/shiti/ 教案下载:教案下载:/
2、jiaoan/ 字体下载:字体下载:/ziti/ 教学课件教学课件C语言程序设计语言程序设计14一维数组的一维数组的排序排序一维数组元素的排序上页上页下页下页主页主页结束结束教学目标教学目标应知应知o知道简单的排序算法(选择法或冒泡法)应会应会o具体的排序思路及实现代码上页上页下页下页主页主页结束结束一维数组元素的一维数组元素的排序排序n排序的方法很多,主要有:选择法,冒泡法,希排序的方法很多,主要有:选择法,冒泡法,希尔法,插入法。尔法,插入法。(以下解题思路均为从小到大以下解题思路均为从小到大)n选择法排序思路与实现选择法排序思路与实现排序过程:排序过程:(1)首先通过)首先通过n-1次比
3、较,从次比较,从n个数中找出最小的,个数中找出最小的, 将它与第一个数将它与第一个数 交换交换第一趟选择排序,结果最小的数被安置在第一个元素位置上第一趟选择排序,结果最小的数被安置在第一个元素位置上(2)再通过)再通过n-2次比较,从剩余的次比较,从剩余的n-1个数中找出关键字次小的记录,个数中找出关键字次小的记录, 将它与第二个数交换将它与第二个数交换第二趟选择排序第二趟选择排序(3)重复上述过程,共经过)重复上述过程,共经过n-1趟排序后,排序结束趟排序后,排序结束上页上页下页下页主页主页结束结束分析与讲解选择法排序例如:有如下例如:有如下5个整数乱序存储在数组个整数乱序存储在数组num中
4、,则用选中,则用选择法排序的过程演示如下:择法排序的过程演示如下:(红色表示是剩下数中的红色表示是剩下数中的最小值,蓝色表示已排好序的数最小值,蓝色表示已排好序的数)排序前:排序前: 7 3 66 90 9第一轮查找:第一轮查找: 7 3 66 90 9 交换:交换: 3 7 66 90 9第二轮查找:第二轮查找: 3 7 66 90 9 交换:交换: 3 7 66 90 9第三轮查找:第三轮查找: 3 7 66 90 9 交换:交换: 3 7 9 90 66第四轮查找:第四轮查找: 3 7 9 90 66 交换:交换: 3 7 9 66 90上页上页下页下页主页主页结束结束编写程序:将编写程
5、序:将1010个数由小到大的顺序进行排序个数由小到大的顺序进行排序include main()int i,j,k,temp,a10=10,9,8,2,5,1,7,3,4,6;for(i=0;i10;i+) printf(“%4d”,ai);printf(“n”);for(i=0;i9;i+)k=i;for(j=k+1;jaj) k=j;temp=ai;ai=ak;ak=temp;for(i=0;i10;i+) printf(“%4d”,ai);printf(“n”);上页上页下页下页主页主页结束结束编写程序编写程序1、从键盘输入、从键盘输入10个整数保存到数组中,求和、个整数保存到数组中,求和
6、、平均值并输出。平均值并输出。上页上页下页下页主页主页结束结束编写程序编写程序 2、从键盘输入、从键盘输入10个整数保存到数组中,个整数保存到数组中,求值最小的元素,将这个值最小的元素与求值最小的元素,将这个值最小的元素与数组的第一个元素交换。最后输出整个数数组的第一个元素交换。最后输出整个数组。组。上页上页下页下页主页主页结束结束编写程序编写程序 3、从键盘输入、从键盘输入10个浮点数保存到数组中,个浮点数保存到数组中,将这将这10个数逆序存放后输出。个数逆序存放后输出。上页上页下页下页主页主页结束结束项目实践项目实践在计算器项目中,添加以下功能:在计算器项目中,添加以下功能:(1)编写函数
7、查找数组中的最高成绩的下标编写函数查找数组中的最高成绩的下标getmaxid原型:原型:int getmaxid(int a , int n); (2)编写函数查找数组中的最低成绩的下标编写函数查找数组中的最低成绩的下标getminid原型:原型:int getminid(int a , int n);(3)编写函数将成绩按从高到低的顺序排序编写函数将成绩按从高到低的顺序排序sort原型:原型: void sort( int a , int n);(4) 编写函数统计成绩中各档的人数,各档分为编写函数统计成绩中各档的人数,各档分为90100、8089、7079、6069、059。原型:原型: void count( int a , int n, int b ); b数组是各档的人数,数组是各档的人数,可以假设可以假设b0存储存储90100的人数,的人数,b1存储存储8089的人数,依此类推。的人数,依此类推。(5)修改菜单函数,以增加对应的功能修改菜单函数,以增加对应的功能(6)修改主函数,以调用新增加的功能。修改主函数,以调用新增加的功能。