编程语言
首页 > 编程语言> > C语言- 基础数据结构和算法 - 15 冒泡排序20220612

C语言- 基础数据结构和算法 - 15 冒泡排序20220612

作者:互联网

 C语言- 基础数据结构和算法 - 15 冒泡排序20220612,

听黑马程序员教程《基础数据结构和算法 (C版本)》,

照着老师所讲抄的, 视频地址https://www.bilibili.com/video/BV1vE411f7Jh?p=1

喜欢的朋友可以去看看,欢迎大家一起交流学习。

15 冒泡排序20220612_main.c

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 #include <time.h>
 5 #include <sys/timeb.h>
 6 
 7 #define MAX 20000
 8 
 9 
10 long getSystemTime(){        // 取得当前系统时间 
11     struct timeb tb;
12     ftime(&tb);
13     return tb.time*1000 + tb.millitm;
14 }
15 // 交换函数
16 void Swap(int* a,int* b){
17     
18     int temp = *a;
19     *a = *b;
20     *b = temp;
21     
22 }
23 // 泡泡排序
24 void BubbleSort(int arr[],int lenght){
25     
26     int i,j;
27     for(i=0;i<lenght;i++){
28         for(j=0;j<lenght-i-1;j++){
29             if(arr[j+1]> arr[j]){
30                 Swap(&arr[j+1],&arr[j]);
31             }
32         }
33     }
34 }
35 // 先择排序,减少交换次数
36 void SelectSort(int arr[],int lenght){
37     
38     int i,j;
39     int min;
40     
41     for(i=0;i<lenght;i++){
42         min = 1;
43         for(j=i+1;j<lenght;j++){
44             if(arr[j] < arr[min]){
45                 min = j;
46             }
47         }
48         if(min != i){
49             Swap(&arr[min],&arr[i]);
50         }
51     }
52 } 
53 // 打印函数
54 void PrintArray(int arr[],int lenght){
55     
56     int i;
57     for(i=0;i<lenght;i++){
58         printf("%-3d ",arr[i]);
59     }
60     printf("\n-------------------------------------------------\n");
61 } 
62 int main(){
63     printf("好好学习,天天向上~!!\t\t 15 冒泡排序20220612\n\n");
64     
65     int arr[MAX];
66     
67     srand((unsigned int)time(NULL));        // 随机 
68     
69     int i;
70     for(i=0;i<MAX;i++){
71         arr[i] = rand() % MAX; 
72     }
73     
74     printf("交换前: ");
75     PrintArray(arr,MAX); 
76     
77     long t_start = getSystemTime();        // 获得当前系统时间(程序执行开始时间) 
78     //printf("交换后: ");    
79     //SelectSort(arr,MAX);
80     //PrintArray(arr,MAX);
81         
82     printf("交换后: ");    
83     BubbleSort(arr,MAX);
84     PrintArray(arr,MAX); 
85     long t_end = getSystemTime();        // 获得当前系统时间(程序执行完成时间)
86     printf("程序执行共花费:%d 毫秒\n",t_end - t_start); 
87     
88     
89     
90     printf("\n\n");
91     system("pause");
92     return 0;
93 }

 

标签:arr,15,int,20220612,冒泡排序,include,tb
来源: https://www.cnblogs.com/stou/p/16389041.html