zoukankan      html  css  js  c++  java
  • 算法 排序 直接选择排序(Straight Selection Sort)

    void SelectSort(SeqList R)
    {
        
    int i,j,k;
        
    for(i = 1; i < n; i++)
        
    {
            
    // 做第i趟排序(1≤i≤n-1)
            k = i;
            
    for(j = i + 1; j <= n; j++)    // 在当前无序区R[i..n]中选key最小的记

    录R[k]
            
    {
                
    if(R[j].key < R[k].key)
                
    {
                    k 
    = j; // k记下目前找到的最小关键字所在的位置
                }

            }

            
    if(k != i)
            

                
    // 交换R[i]和R[k]
                R[temp] = R[i];
                R[i] 
    = R[k];
                R[k] 
    = R[temp];    // R[temp]作暂存单元
            }
     // endif
        }
     // endfor
    }
     // SeleetSort

    void SelectSort(int[] x)
    {        
        
    for(int i = 0; i < x.Length - 1; i++)
        
    {
            
    // 只需做n-1次循环
            int min = i;
            
    for(int j = i + 1; j < x.Length; j++
            
    {            
                
    if(x[j] < x[min])
                
    {
                    min 
    = j;
                }

            }

            
    if(min != i)
            

                
    // 交换x[i]和x[k]
                int temp;
                temp 
    = x[i];
                x[i] 
    = x[min];
                x[min] 
    = temp; 
            }
     // endif
        }
     // endfor
    }
     // SelectSort
  • 相关阅读:
    canves应用
    canves图形变换
    精简设置三角形
    [JSOI2008]星球大战
    实用技巧
    [HAOI2011]Problem b
    [luoguAC500纪念]骑士共存问题
    [NOI2014]起床困难综合症
    魔术球问题
    AC自动机(简单版)
  • 原文地址:https://www.cnblogs.com/xiaodi/p/296499.html
Copyright © 2011-2022 走看看