首页 >> 精选知识 >

C语言排序算法设计(c语言排序算法)

2023-09-04 12:12:06 来源: 用户: 

你们好,最近小时发现有诸多的小伙伴们对于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语言排序算法这篇文章的一些介绍,希望对大家有所帮助。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章