首页 > 代码库 > 选择排序

选择排序

遍历无需部分,每次找到无需部分的一个最小值,并将其置于左面。(升序排列)

代码如下;

 1 void sort(int *p, int n)
 2 {   
 3      int min,des,temp;
 4      for(int i = 0; i < n; i++)
 5          {
 6          min = p[i]; des = i;    
 7          for(int j = i+1; j < n; j++)
 8              if(p[i]>p[j])
 9                  {
10                      min = p[j];
11                      des = j;
12                  }
13          temp = p[i];
14          p[i] = min;
15          p[des] = temp;                 
16          }
17 }

同冒泡排序,选择排序为两重循环,时间复杂度为O(n^2);

选择排序