C++中怎么找出一维数组中最小的两个数


  可以先排序再输出最小的两个数

  也可以采用下面的方法,不用排序直接给出最小的两个数

  思路:数组中数和两个数依序比较,比这两个中的一个小,则与其交换

void getmin(int array[],int arraylen,int out[],int outlen)
{//outlen应该为2
    int i,j;
    敬辩for(i=0;i<outlen;i++)out[i] = 0x7FFFFFFF;//这是一扒燃个最大整数值
    for(i=0;i<arraylen;i++){//遍历数组
        for(j=0;j<outlen;j++){//遍历最小数列表
            if(array[i]<out[j]){//array中的数更小
                out[j] = array[i];//记录该数
                break;
            }
          春稿虚  //如果out中的数小,则看看下一个out数会不会比这个大
        }
    }
}

  这个方法可以适用于查找一维数组中最小的n个数


先从小到大排序,再输出开始两个
用两个数去记录,查找的最小的和第二小的数~