首页 >> 学识问答 >

c语言排序函数(c语言排序)

2023-10-18 15:16:17

问题描述:

c语言排序函数(c语言排序),跪求好心人,帮我度过难关!

最佳答案

推荐答案

2023-10-18 15:16:17

你们好,最近小活发现有诸多的小伙伴们对于c语言排序函数,c语言排序这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

1、 交换排序:借鉴求最大值和最小值的思想,升序排序的基本过程如下:首先将第一个数与后面的数进行比较,如果后面的数小,交换第一个数的位置,否则不交换:这一轮过后,

2、 然后把最小的除法放在第一位,再进行第二轮比较,但是这种交换效率低。

3、 package cho2;

4、 public class changeSort {

5、 public static void main(String[] args) {

6、 //TODO自动生成的方法存根

7、 //对给定数组进行排序。

8、 int[] a={53,54,56,51};

9、 int i;

10、 int j;

11、 int temp=0;

12、 //注意不要越过数组。如果I小于4或者J小于5,就过线了。

13、 /现象

14、 //注意,在交换中,i 1不能总是替换J;

15、 for(i=0;i3;i++){

16、 for(j=i+1;j4;j++){

17、 if(a[i]a[j]){

18、 temp=a[i];

19、 a[i]=a[j];

20、 a[j]=temp;

21、 }

22、 }

23、 }

24、 for(i=0;i4;i++){

25、 System.out.println(a[i]);

26、 }

27、 }

28、 }

29、 冒泡排序:交换和重复两个相邻数字的过程。一般来说,如果有N个数要排序,就需要N-1次冒泡。

30、 package cho2;

31、 public class maopao {

32、 public static void main(String[] args) {

33、 //TODO自动生成的方法存根

34、 int[] a={53,54,56,51};

35、 int i;

36、 int j;

37、 int m=0;

38、 int temp=0;

39、 for(i=0;i3;i++){

40、 m=m-1;

41、 //4 m主要是为了减少运行次数。

42、 for(j=0;j4+m;j++){

43、 if(a[j]a[j+1]){

44、 temp=a[j];

45、 a[j]=a[j+1];

46、 a[j+1]=temp;

47、 }

48、 }

49、 }

50、 for(i=0;i4;i++){

51、 System.out.println(a[i]);

52、 }

53、 }

54、 }

55、 选择性排序:在交换排序的基础上,找出剩余数的最大值然后与数I 1交换,这样每轮比较最多只有一次交换操作,这个算法最多只有n-1次交换操作。

56、 package cho2;

57、 public class selectSort {

58、 public static void main(String[] args) {

59、 //TODO自动生成的方法存根

60、 int[] a={53,54,56,51};

61、 int i;

62、 int j;

63、 int k;

64、 int temp=0;

65、 for(i=0;i3;i++){

66、 k=i;

67、 for(j=i+1;j4;j++){

68、 if(a[i]a[j]){

69、 k=j;

70、 }

71、 }

72、 if(k!=i){

73、 temp=a[k];

74、 a[k]=a[i];

75、 a[i]=temp;

76、 }

77、 }

78、 for(i=0;i4;i++){

79、 System.out.println(a[i]);

80、 }

81、 }

82、 }

以上就是c语言排序这篇文章的一些介绍,希望对大家有所帮助。

  免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。

 
分享:
最新文章