1. 梗概:

  1. 初始先把用来比较的两个最小记录设为无穷大
  2. 遍历数组, 找到对应条件下比记录中次小数还小的数
    1. 如果比最小的数还小
      1. 先把最小数搬给次小数
      2. 更新最小数
    2. 如果>=最小数且<次小数(否则)
      1. 更新次小数

2. c语言实现

void Twomin(int A[],int n,int *index1,int *index2){
	//在长为n的数组A中找最小的两个数,依次把下标给index1和index2
		int min1=32767,min2=32767;
			for(int i=0;i<n;++i){
				if((/*condition*/)&&A[i]<min2){
					if(A[i]<min1){
						/*先把最小给次小*/
						*index2=*index1;
						min2=min1;
						/*更新最小*/
						*index1=i;
						min1=A[i];
					}
					else{
						*index2=i;
						min2=A[i];
					}
				}
			}
	}