1 / 17
文档名称:

专升本 C语言课件 C09(12) 常用算法.ppt

格式:ppt   页数:17页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

专升本 C语言课件 C09(12) 常用算法.ppt

上传人:xxj16588 2016/1/8 文件大小:0 KB

下载得到文件列表

专升本 C语言课件 C09(12) 常用算法.ppt

相关文档

文档介绍

文档介绍:数组的常用算法求数组的最大元素:先假定第一个元素是最大元素,然后将其他每一个元素与最大元素比,如果更大,新的元素成为最大元素。求数组a的最大元素的值(n>0):float maxv(float a[],int n){float m; int i;m=a[0];for(i=1;i<n;i++) if(a[i]>m)m=a[i];return m;}求数组a的最大元素的位置:int maxv(float a[],int n){int m; int i;m=____;for(i=1;i<n;i++) if(_____)_______;return m;}m=0a[i]>a[m]m= 数组的常用算法将数组中的最大元素与最后一个元素交换。void exch(float a[],int n){float m,tmp; int i;m=___;for(i=1;i<n;i++) if(____)m=_____;if(______) {tmp=a[n-1]; __________; __________;}}m=0a[i]>a[m]m=im!=n-1a[n-1]=a[m]a[m]= 数组的常用算法调整数组中元素的位置,将数组中所有的正数放在前面,其他的数放在后面。(要求只能使用一个辅助空间)如20,15,-9,-3,0,5,8,-7,4变为20,15,5,8,4,-9,-3,0,-7void adj(float a[],int n){float tmp; int i,j;i=0;j=n-1;while(____){ while(a[i]>0 && i<n-1)_____; while(a[j]<=0 && j>0)______; if(_____) {tmp=a[i];a[i]=a[j];a[j]=tmp;i++;j--;}}}i<ji++j--i< 数组的常用算法有一个3×4的矩阵,求其中值最大的那个元素的值及其下标。main(){int row,column,i,j;int a[3][4]={5,9,4,21,6,7,16,2,4,10,12,3};______________________for(i=0;i<3;i++) for(j=0;j<4;j++)if(_______________________) { row=______; column=______; }printf("max=%d,row=%d,column=%d\n",______________,row,column);}row=column=0;a[i][j]>a[row][column] i j a[row][column] 数组排序一、选择排序从未排序部分选出最小的数与第一个交换(49,38,65,50,76,13,27,52)(49,38,65,50,76,13,27,52)(13,38,65,50,76,49,27,52)(13,38,65,50,76,49,27,52)(13,27,65,50,76,49,38,52).......select_sort(int a[],int n){int i,j,k,tmp; for(i=0;i<n-1;++i){ k=i; for(j=i+1;j<=n-1;j++) if(a[j]<a[k])k=j; if(k!=i){ tmp=a[k]; a[k]= a[i]; a[i]=tmp;} } }} 数组排序一、选择排序改变算法使得数组元素从大到小排序。select_sort(int a[],int n){int i,j,k,tmp; for(i=0;i<n-1;++i){ k=i; for(j=i+1;j<=n-1;j++) if(a[j]<a[k])k=j; if(k!=i){ tmp=a[k]; a[k]= a[i]; a[i]=tmp;} } }}select_sort(int a[],int n){int i,j,k,tmp; for(i=0;i<n-1;++i){ k=i; for(j=i+1;j<=n-1;j++) if(a[j]>