🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀
目录
🐰冒泡排序
从左到右,相邻元素进行比较。每次比较之后,就会找到待排数据中最大的一个或者最小的一个,这个数就会从待排数据的最右边冒出来。
以从升序为例,第一次比较后,所有数中最大的那个数就会浮到最右边;第二轮比较后,所有数中第二大的那个数就会浮到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。
1. //升序 2. #include<stdio.h> 3. void Print(int arr[],int len) 4. { 5. for(int i=0;i<len;i++) 6. { 7. printf("%d ",arr[i]); 8. } 9. printf("\n"); 10. } 11. void Buble_sort(int arr[],int len) 12. { 13. for(int i=0;i<len-1;i++) 14. { 15. for(int j=0;j<len-i-1;j++) 16. { 17. if(arr[j]>arr[j+1]) 18. { 19. int temp=arr[j]; 20. arr[j]=arr[j+1]; 21. arr[j+1]=temp; 22. } 23. } 24. } 25. Print(arr,len); 26. } 27. int main() 28. { 29. int arr[]={9,8,7,6,0,5,4,3,2,1}; 30. int len=sizeof(arr)/sizeof(*arr); 31. Buble_sort(arr,len); 32. return 0; 33. }
🐰选择排序
选择排序(Choose sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的中数据元素选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。
1. //升序 2. #include<stdio.h> 3. void Print(int arr[],int len) 4. { 5. for(int i=0;i<len;i++) 6. { 7. printf("%d ",arr[i]); 8. } 9. printf("\n"); 10. } 11. void Choose_sort(int arr[],int len) 12. { 13. for(int i=0;i<len;i++) 14. { 15. for(int j=i+1;j<len;j++) 16. { 17. if(arr[i]>arr[j]) 18. { 19. int temp=arr[j]; 20. arr[j]=arr[i]; 21. arr[i]=temp; 22. } 23. } 24. } 25. Print(arr,len); 26. } 27. int main() 28. { 29. int arr[]={9,8,7,6,0,5,4,3,2,1}; 30. int len=sizeof(arr)/sizeof(*arr); 31. Choose_sort(arr,len); 32. return 0; 33. }
🐰直接插入排序
将待排序序列分为两部分,一部分有序一部分无序,我们把第一个元素看作有序序列,从第二个元素到最后为无序序列,将无序序列中每一个元素依次插入到有序序列的合适位置–从小到大(从大到小)。
1. #include<stdio.h> 2. void Print(int arr[],int len) 3. { 4. for(int i=0;i<len;i++) 5. { 6. printf("%d ",arr[i]); 7. } 8. printf("\n"); 9. } 10. void Insert_sort(int arr[],int len) 11. { 12. int i,j; 13. for( i=0;i<len;i++) 14. { 15. int temp=arr[i]; 16. for( j=i-1;j>=0;j--) 17. { 18. if(temp<arr[j]) 19. { 20. arr[j+1]=arr[j]; 21. } 22. else 23. { 24. break; 25. } 26. } 27. arr[j+1]=temp; 28. } 29. Print(arr,len); 30. } 31. int main() 32. { 33. int arr[]={9,8,7,6,0,5,4,3,2,1}; 34. int len=sizeof(arr)/sizeof(*arr); 35. Insert_sort(arr,len); 36. return 0; 37. }
🌸🌸🌸如果大家还有不懂或者建议都可以发在评论区,我们共同探讨,共同学习,共同进步。谢谢大家! 🌸🌸🌸