📄 ksps.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 + -