其他分享
首页 > 其他分享> > 简单排序,以及求最大值,次最大值

简单排序,以及求最大值,次最大值

作者:互联网

 

 

 1 /*
 2     对n个记录进行n-1简单选择排序
 3     在无序区【i,n-1】选取最小记录,设其下标为index
 4     将最小记录与第i个记录进行交换 
 5 */
 6 
 7 
 8 // 简单选择排序算法 
 9 
10 void selectsort(int p[],int n){
11     for(int i=0;i<n-1;i++){
12         int temp,index;
13         index=i; 
14         for(int j=i+1;j<n;j++){
15             if(p[index]>p[j])
16                 index=j;
17         }
18         
19         if(index!=i){
20             temp=p[index];
21             p[index]=p[i];
22             p[i]=temp;
23         }
24     }
25 }
1. 简答选择排序
 1 /*
 2 1.将前两个元素进行比较,较大者放到max中,较小者放到nmax中
 3 
 4 2.从第3个元素开始直到最后一个元素依次取元素 A[i], 执行下列操作
 5     2.1 如果A[i]>max, 则A[i]为最大值,原来的最大值为次最大值
 6     2.2 否则,如果A[i]>nmax, 则最大值不变,A[i]为次最小值
 7     
 8 3.输出最大值max,次最大值为inmax 
 9 */
10 void max_nextmax(int p[],int &max,int &nmax,int n){  //
11     
12     if(p[0]>=p[1]){    //前两个元素进行比较 
13         max=p[0];
14         nmax=p[1];
15     }
16     else{
17         max=p[1];
18         nmax=p[0];
19     }
20     for(int i=2;i<n;i++){
21         if(p[i]>=max){
22             nmax=max;
23             max=p[i];
24         }
25         else if(p[i]>nmax){
26             nmax=p[i];
27         }
28     } 
29 }
2. 找出整型数组A[n]中元素的最大值和次最大值

 

标签:nmax,index,int,max,最大值,元素,简单,排序
来源: https://www.cnblogs.com/xiaochunzhang/p/15511819.html