⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ksps.cpp

📁 首先
💻 CPP
字号:
#define N 10
#include <stdio.h>
#include <stdlib.h>

int len_a = 0 ;   //全局变量:数组长度 
int initLen( int Len[])          //由输入初始化数组 
{
    printf("请输入数组长度:");
    scanf("%d",&len_a);
    printf("请输入数组元素(用空格隔开):");    
    for( int i = 0 ; i < len_a ; i++ )
        scanf("%d",&Len[i]) ;
    
    return 0 ;
}

int partLen( int Len[] , int head , int tail , int &middle)      //划分数组 
{
    int i = head , j = tail , key = Len[head] ;
    while( i < j )
    {
        while( Len[j] > key && i < j )
                j -- ;                
        if( i < j )
        {
                Len[i] = Len[j] ;
                i ++ ;
        }    
        while( Len[i] < key && i < j )
                i ++ ;
        if( i < j )
        {       
            Len[j] = Len[i] ;
            j -- ;
        }       
    }
    Len[i] = key ;
    middle = i ;
    return 0 ;
}

int QuickSork( int Len[] , int head , int tail )    //排序        
{   
    int middle ;
    if( head < tail )
    {
        partLen( Len , head , tail , middle ) ;
        QuickSork( Len , head , middle-1 );       
        QuickSork( Len , middle+1 , tail );
    }
    return 0 ;       
}

int showLen( int Len[] )         //数组输出 
{
    for( int i = 0 ; i < len_a ; i++ )
        printf("%4d",Len[i]);
    return 0 ;
}

int main()
{   
    int Len[N] ;
    
    initLen( Len ) ;
    QuickSork( Len , 0 , len_a-1 ); 
    printf("-------------------------\n");
    printf("排序后的数串为:"); 
    showLen( Len );
    
    getchar() ;getchar() ;
    return 0 ;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -