int [] array1 = {1,3,5,7,9,10,2,15,154,10,2,188,200};//定义一个数组,内容为混乱大小 int index = 0;//定义一个最大值或最小值的位置 int keyValue = 0;//定义最大值或最小值 int temp = 0;//定义一个临时存储变量 for(int i=0;i<array1.length;i++){//依次循环所有数据 index = i;//将i位置赋值给index keyValue = array1[index];//将i位置的值赋值给keyValue for(int y=i;y<array1.length;y++){//再次循环所有变量,不过这次是长度起始长度为i,最大长度不变 if(array1[y] < keyValue){//如果循环到的值小于i位置的值 index = y;//位置重新定义为当前位置 keyValue = array1[y];//最小值为当前位置 } } temp = array1[i];//将i位置的值赋值给临时变量(最大值) array1[i] = array1[index];//将i位置重新定义为index(最小)位置的 array1[index] = temp;//将最大值重新定义给index位置,实现交换过程 } for(int p=0;p<array1.length;p++){ System.out.print(array1[p]+" "); }
<?php /* 选择排序::对数组进行从小到大的排序 */ $array = array(2, 100, 3, 50, 48, 99, 502, 30, 27, 15, 16, 300, 11, 9, 5, 4, 42); for ($i = 0; $i < count($array); $i++) { $index = $i; //将index设置为当前循环步长 $keyValue = $array[$index]; //将最小值设置为当前 for ($y = $i; $y < count($array); $y++) { if($array[$y] < $keyValue){ //如果循环余下的数据,有比i更小的值 $index = $y; //记录最小值的索引位置 $keyValue = $array[$index];//将最小值设置为最小值索引位置的值 } } $temp = $array[$i]; //将当前循环的值赋值给临时变量(最大值) $array[$i] = $array[$index];//将最小值赋值给当前位置 $array[$index] = $temp;//将最小值的位置填充上最大值 } print_r($array); ?>