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