




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一维数组相关算法查找计算最大值/位置/和/平均值倒置排序(2种)插入删除例:编程将一个数组的元素值按逆序重新存放。例如,原顺序为1,5,8, 4,9,逆序后为9,4,8,5,1#include#define MAX 100void main() int aMAX,n,i,t; printf(please input n ); scanf(%d,&n); /输入数组a printf(please input 数组a ); for(i=0;in;i+) scanf(%d,&ai); printf(“n”); /交换数组 for(i=0;in/2;i+) t=ai; ai=an-1-i; an-1-
2、i=t; /输出交换后的数组 for(i=0;in;i+) printf(%4d,ai);/交换数组for(i=0,j=n-1;ij;i+,j-) t=ai; ai=aj; aj=t;应用举例50个同学参加C程序设计考试,请读取和存储每个同学的成绩值,并计算平均考试成绩,并将所有成绩按照从低到高的顺序排列。1)求平均数2)排序#include #define STU_NUM 50void main() float markSTU_NUM, ave; int i; for(i=0; iSTU_NUM;i+) printf(Input %d student mark: “, i); scanf(%
3、f, &marki ); ave=0; for(i = 0; i a1,则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止第一趟冒泡排序,结果最大的数被放置在最后一个元素位置上对前n-1个数进行第二趟冒泡排序,次大的数被放置在第n-1个元素位置重复上述过程,共经过n-1趟冒泡排序后,排序结束冒泡排序 实现n个元素,n-1 趟冒泡for( i=0;i n-1; i+ ) 第 i 趟冒泡,进行 ?次比较第 0 趟,n-1 次比较第 1 趟,n-2 次比较第 i 趟, n-i-1 次比较for( j=0; j aj+1 ) change; Bubble - Source
4、Code int aSIZE, i, j, t; for( i=0; in-1; i+) for( j = 0; jaj+1 ) t = aj; aj = aj+1; aj+1 = t; #include #define SIZE 100void main() int aSIZE,i,j,t,n; printf(请输入数据个数:); scanf(%d,&n); printf(Input n numbers:n); for(i=0;in;i+) scanf(%d,&ai); printf(n); for(i=0;in-1;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+
5、1=t; printf(The sorted numbers:n); for(i=0;in;i+)printf(%d ,ai);初始: 49 38 65 97 76 13 27 kji=01349一趟: 13 38 65 97 76 49 27 i=12738二趟: 13 27 65 97 76 49 38 三趟: 13 27 38 97 76 49 65 四趟: 13 27 38 49 76 97 65 五趟: 13 27 38 49 65 97 76 六趟: 13 27 38 49 65 76 97 kkkkjjjjjjjjjj简单选择排序简单选择排序 算法描述1)首先通过n-1次比较,从
6、n个数中找出最小的, 将它与第一个数交换第一趟选择排序,结果最小的数被安置在第一个元素位置上2)再通过n-2次比较,从剩余的n-1个数中找出关键字次小的记录,将它与第二个数交换第二趟选择排序3)重复上述过程,共经过n-1趟排序后,排序结束 int aSIZE, i, j, k, t; for(i=0; in-1; i+) k=i; for( j = i+1; jn; j+) if( aj ak ) k = j; if( i! = k ) t = ai; ai = ak; ak = t; 简单选择排序 算法实现#include#define SIZE 100main() int i,j,l,n,
7、t,aSIZE; printf(Input n: ); scanf(%d,&n); for(i=0;i=n-1;i+) printf(Input data: ); scanf(%d,&ai); for(i=0; in-1; i+) l=i; for( j=i+1; j n; j+) if(ajal)l=j; if( i!=l ) t=ai; ai=al; al=t; for(i=0;i=n-1;i+) printf(%d,ai); printf(n);冒泡排序(bubble sort) O(n2) 选择排序 (selection sort) O(n2) 鸡尾酒排序 (Cocktail sort
8、) O(n2) 插入排序 (insertion sort) O(n2) 桶排序 (bucket sort) O(n); 计数排序 (counting sort) O(n+k); 归并排序 (merge sort) O(n log n); 原地归并排序 O(n2) 二叉树排序 (Binary tree sort) O(n log n); 鸽巢排序 (Pigeonhole sort) O(n+k); 基数排序 (radix sort) O(nk); Gnome sort O(n2) Library sort O(n log n) 希尔排序 (shell sort) O(n log n) Comb
9、sort O(n log n) 堆排序 (heapsort) O(n log n) Smoothsort O(n log n) 快速排序 (quicksort) O(n log n) Introsort O(n log n) Patience sorting O(n log n + k)二维数组相关算法转置计算最大值各行各列的最大值/求和杨辉三角形上三角元素之和例:求1010二维数组中的最大值。#include #define MAX 10void main() int aMAXMAX,n,i,j,l,k; printf(Input a%1d%1d:n, MAX, MAX); for( i=0
10、; iMAX; i+) for( j=0; jMAX; j+) scanf(%d, &aij); l=0; k=0; for( i=0; iMAX; i+) for( j=0; j alk ) l=i; k=j; printf(“%d,%d,%dn, l, k, alk);int a34,row3,column4;int i, j, k;k=0; for (i=0; i3; i+) k = 0; for(j=1; j4; j+) if (aik aij ) k = j; rowi = aik; for (j=0; i4; i+) k = 0; for(i=1; i3; i+) if (akj
11、aij ) k = i; columnj = akj;例:各行各列最大值存放每行最大值存放每列最大值例:矩阵转置#includevoid main() int a33, b33, i, j; for ( i=0; i3; i+) for( j=0; j3; j+) printf(input data ); scanf(%d,&aij); for (i=0;i3;i+) for(j=0;j3;j+) bij=aji; for (i=0;i3;i+) for(j=0;j3;j+) printf(%3d,bij); printf(n); 1 2 34 5 67 8 91 4 72 5 83 6 9#
12、includemain() int a1111,i,j; for(i=1; i=10; i+) ai1=1; aii=1; for(j=2; ji; j+) aij= ai-1j-1+ai-1j; for(i=1; i=10; i+) for(j=1;j=i;j+) printf(“%4d”,aij); printf(n); 例:打印杨辉三角/OcwWeb/Electrical-Engineering-and-Computer-Science/6-046JFall-2005/CourseHome/index.htmhttp:/OcwWeb/web/home/home/index.htmVideo lectures Audio lectures Subtitles/Transcript Selected lecture notes Assignments and solutions Exams and Solutio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 63267-3-61:2025 EN-FR Fibre optic interconnecting devices and passive components - Fibre optic connector optical interfaces for enhanced macrobend multimode fibres - Par
- 华为管理课件
- 河北96年中考数学试卷
- 淮海小升初数学试卷
- 健康管理师课件口碑
- 2025届黑龙江省庆安县第三中学物理高二下期末质量跟踪监视试题含解析
- 2025年中国植物蛋白饮料行业市场调查研究及投资前景展望报告
- 交评报告汇报范本1看丹桥工业区项目交通影响评价
- 易拉盖产品项目投资可行性研究分析报告(2024-2030版)
- 2025年中国停车场建设行业发展趋势及投资前景预测报告
- 中药学多选题含答案
- GB 11930-1989操作开放型放射性物质的辐射防护规定
- 起重作业吊索具使用安全培训课件
- 中小学班主任工作手册(修订)
- 育婴员中级近年考试真题汇总(含答案)
- 顺德区国家工作人员因私出国(境)审批表
- 2022泉州实验中学初一新生入学考试语文卷
- 高原切花玫瑰编制说明(农标委报批)
- 酒店住宿水单模板
- 安徽省安装工程消耗量定额(共165页)
- 《课程标准》编制说明
评论
0/150
提交评论