冒泡排序的记录

代码如下:

复制代码
 1 #include <stdio.h>
 2 
 3 void outArr(int arr[], int arrSize){
 4         for(int i = 0; i < arrSize; i++){
 5                 printf("%d\t", arr[i]);
 6         }
 7         printf("\n");
 8 
 9         return;
10 }
11 
12 void bubbleSort1(int arr[], int arrSize){
13         int tmp = 0;
14         for(int i = 0; i < arrSize; i++){
15                 for(int j = i + 1; j < arrSize; j++){
16                         if(arr[j - 1] > arr[j]){
17                                 tmp = arr[j];
18                                 arr[j] = arr[j - 1];
19                                 arr[j - 1] = tmp;
20                         }
21                 //outArr(arr, arrSize);
22                 }
23         }
24 
25         return;
26 }
27 
28 void bubbleSort2(int arr[], int arrSize){
29         int tmp = 0;
30         for(int i = arrSize - 1; i >= 0; i--){
31                 for(int j = i + 1; j < arrSize; j++){
32                         if(arr[j - 1] < arr[j]){
33                                 tmp = arr[j];
34                                 arr[j] = arr[j - 1];
35                                 arr[j - 1] = tmp;
36                         }
37                 //outArr(arr, arrSize);
38                 }
39         }
40 
41         return;
42 }
43 
44 int main(int argc, char **argv)
45 {
46         int arr[] = {23, 78, 66, 32, 45, 99, 87, 51};
47         //int arr[] = {99, 87, 78, 66, 51, 45, 32, 23};
48         int arrSize = sizeof(arr) / sizeof(int);
49         outArr(arr, arrSize);
50         bubbleSort1(arr, arrSize);
51         outArr(arr, arrSize);
52         bubbleSort2(arr, arrSize);
53         outArr(arr, arrSize);
54 
55         return 0;
56 }
复制代码

一个是升序,一个降序列

复制代码
 1 #include <stdio.h>
 2   
 3 void bubbleSort(int arr[], int arrSize){
 4         int swap = 1;
 5         int tmp = 0;
 6         while(swap){
 7                 swap = 0;
 8                 for(int i = 0; i < arrSize; i++){
 9                         if(arr[i] > arr[i + 1]){
10                                 swap = 1;
11                                 tmp = arr[i];
12                                 arr[i] = arr[i + 1];
13                                 arr[i + 1] = tmp;
14                         }
15                 }
16         }
17 }
18 
19 void outArr(int arr[], int arrSize){
20         for(int i = 0; i < arrSize; i++){
21                 printf("%d\t", arr[i]);
22         }
23         printf("\n");
24 }
25 
26 int main(int argc, char **argv)
27 {
28         int arr[] = {23, 78, 66, 32, 45, 99, 87, 51};
29         int arrSize = sizeof(arr);
30         outArr(arr, arrSize);
31         bubbleSort(arr, arrSize);
32         outArr(arr, arrSize);
33 
34 
35         return 0;
36 }
复制代码

 

posted @   叕叒双又  阅读(245)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示