生活知识小技巧网logo.png生活知识小技巧网

生活知识小技巧网
生活知识小技巧网是中国最大的生物技术、生物科学门户网站。
生活知识小技巧网

简单选择排序递归算法(简单选择排序)

导读 大家好,我是小生,我来为大家解答以上问题。简单选择排序递归算法,简单选择排序很多人还不知道,现在让我们一起来看看吧!1、在冒泡排序...

大家好,我是小生,我来为大家解答以上问题。简单选择排序递归算法,简单选择排序很多人还不知道,现在让我们一起来看看吧!

1、在冒泡排序的基础上稍加了修改,感觉很简单,相关的注释和说明参看我写在你的冒泡排序问题中的内容。

2、程序代码如下,仅供参考:

3、# include "stdio.h"

4、# include "time.h"

5、# include "stdlib.h"

6、# define N 400

7、void init(int a[],int n){

8、 int i;

9、 srand ( ( unsigned int ) time ( NULL ) );

10、 for(i=0;i<n;i++)

11、 //scanf("%d",&a[i]);

12、 a[i]=rand()%100001;

13、}

14、void selectsort(int a[],int n){//最简单的选择排序

15、 int i,j,k=1,m,num,min;

16、 for(i=0;i<n-1;i++){

17、 min=i;

18、 for(j=i+1;j<n;j++)//每次找出一个最小的值放到合适的位置

19、 if(a[min]>a[j])

20、 min=j;

21、 num=a[i];

22、 a[i]=a[min];

23、 a[min]=num;

24、 printf("(");

25、 printf("%c",32);

26、 for(m=0;m<n;m++){

27、 printf("%d",a[m]);

28、 if(m==k-1){

29、 printf("%c",32);

30、 printf(")");

31、 printf("%c",32);

32、 }

33、 else

34、 printf("%c%c",32,32);

35、 }

36、 k++;

37、 printf(" ");

38、 }

39、}

40、void myprint(int a[],int n){

41、 printf("(");

42、 for(int i=0;i<n;i++){

43、 printf("%c%c",32,32);

44、 printf("%d",a[i]);

45、 }

46、 printf("%c%c)",32,32);

47、}

48、void main(){

49、 int n;

50、 int a[N];

51、 printf("请输入要排序的数组的大小:");

52、 scanf("%d",&n);

53、 init(a,n);

54、 printf("source: ");

55、 myprint(a,n);

56、 printf(" Bubble Sort: ");

57、 selectsort(a,n);

58、 printf(" Result: ");

59、 myprint(a,n);

60、 printf(" ");

61、}

62、呵呵,程序不难,归并的我就不写了,如果你对二路归并思路清晰的话,自己稍微改改就可以了吧!

本文到此讲解完毕了,希望对大家有帮助。

免责声明:本文由用户上传,如有侵权请联系删除!

相关推荐

最新文章