算法设计-用递归方法实现选择排序

版权声明:未经原作者允许不得转载本文内容,否则将视为侵权 https://blog.csdn.net/springhammer/article/details/88559019
#include<stdio.h>
#include<stdlib.h>
#define N 10
 
void SelectionSort(int* a,int n,int i)
{
    if(i>=n-1)
    {
        return;
    }
    else{
        int temp,j;
        temp=i;
        for(j=i+1;j<n;j++)
        {
            if(a[j]>a[temp])
                temp=j;
        }
        if(temp!=i)
        {
            int m;
            m=a[temp];
            a[temp]=a[i];
            a[i]=m;
        }
        SelectionSort(a,n,i+1);
    }
}
 
int main()
{
    int a[N],i,j,temp;
	printf("请输入10个数:\n");
	for(i=0;i<N;i++)
	{
		scanf("%d",&a[i]);
	}
 
 
SelectionSort(a,N,0);

  printf("排好序的数为:\n"); 
    for(i=0;i<N;i++)
        printf("%d  ",a[i]);
 
    printf("\n");
}


猜你喜欢

转载自blog.csdn.net/springhammer/article/details/88559019