C语⾔冒泡排序法和选择排序法的区别冒泡排序法:
#define _CRT_SECURE_NO_WARNINGS 1
2.#include<stdio.h>
3.#include<stdlib.h>
4.#include<assert.h>
5.void rank(int arr[], int len)
6.{
7. int i = 0;
8. int j = 0;
9. int temp = 0;
10. for (i = 0; i < len-1; i++)
11. {
12. for (j = 0; j < len-1- i; j++)
13. {
14. if (arr[j] < arr[j+1])
15. {
16. temp = arr[j];
c语言和c++区别17. arr[j] = arr[j+1];
18. arr[j+1] = temp;
19. }
20. }
21. }
22.}
23.int main()
24.{
25. int array[9] = { 9, 8, 7, 4, 16, 5, 6, 3, 1 };
26. int len = sizeof(array) / sizeof(array[0]);
27. int i = 0;
28. rank(array, len);
29. for (i = 0; i < len; i++)
30. {
31. printf("%d", array[i]);
32. printf(" ");
33. }
34. system("pause");
35. return 0;
36.}
选择排序法:
#define _CRT_SECURE_NO_WARNINGS 1
2.#include<stdio.h>
3.#include<stdlib.h>
4.#include<assert.h>
5.void rank(int arr[], int len)
6.{
7. assert(arr);
8. assert(len);
9. int i = 0;
10. int j = 0;
11. int temp = 0;
12. for (i = 0; i < len-1; i++)
13. {
14. for (j =i+1; j < len; j++)
15. {
16. if (arr[i] < arr[j])
17. {
18. temp = arr[i];
19. arr[i] = arr[j];
20. arr[j] = temp;
21. }
22. }
23. }
24.}
25.int main()
26.{
27. int array[9] = { 9, 8, 7, 4, 16, 5, 6, 3, 1 };
28. int len = sizeof(array) / sizeof(array[0]);
29. int i = 0;
30. rank(array, len);
31. for (i = 0; i < len; i++)
32. {
33. printf("%d", array[i]);
34. printf(" ");
35. }
36. system("pause");
37. return 0;
38.}
选择排序法和冒泡排序法的区别:
冒泡排序法:⼀趟⼀趟的将两个相邻的数进⾏交换如果有10个数则需要排9躺,如果是从⼤到⼩输出则需要每次将后⼀个数和前⼀个数进⾏⽐较将较⼤的数赋值给钱⼀个数,将较⼩的数赋值给后⼀个数,其实就是两个数交换,那么第⼀趟交换完毕后,最⼩的数便出现在了数组的最后⾯,然后进⾏第⼆趟的⽐较时则要对余下的前9个数进⾏⽐较,9趟⽐较完成后则数组也已经排好序。
选择排序法:10个数则是需要排9次,若按降序排列,第⼀次⽐较:则是将数组的第⼀个元素与数组中从第⼆个元素开始到最后的元素进⾏⽐较到最⼤的数记录下来然后将值赋值给数组的第⼀个元素,然后进⾏第⼆次⽐较:则是将数组的第⼆个元素与数组中从第三个元素开始到最后的元素进⾏⽐较,最⼤的数记录下来将值赋值给数组的第⼆个元素。。。依次循环完
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论