當前位置:
首頁 >
数据结构二:排序(冒泡排序和选择排序)
發布時間:2025/3/12
15
豆豆
生活随笔
收集整理的這篇文章主要介紹了
数据结构二:排序(冒泡排序和选择排序)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:冒泡排序
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <sys/timeb.h>#define MAX 10000//獲取時間,毫秒 long getTime() {struct timeb tb;ftime(&tb);return tb.time * 1000 + tb.millitm; }void Bubble_Sort(int *arr,int len) {int flag = 0;//=0沒有交換好for (int i = 0; (i < (len - 1))&&flag==0; i++){flag = 1;//-i是因為每循環i次,就排出i個最大的,下次循環就只需要len-i了for (int j = 0; j < len - i - 1; j++)//如果是最后一個數,arr[j + 1]就會越界,因此就要-1{if (arr[j]>arr[j+1]){flag = 0;int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}//return &arr; }//打印 void PrintArr(int* arr,int len) {for (int i = 0; i < len; i++){printf("%d ", arr[i]);} }int main(void) {int arr[MAX];srand((unsigned int)time(NULL));for (int i = 0; i < MAX; i++ ){arr[i] = rand()%MAX;}//printf("冒泡排序前:");//PrintArr(arr, MAX);long t_start = getTime();Bubble_Sort(arr, MAX);long t_end = getTime();printf("\n");//printf("冒泡排序后:");//PrintArr(arr, MAX);printf("\n");printf("冒泡排序共花費%ld毫秒\n", t_end - t_start); }二:選擇排序
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <sys/timeb.h>#define MAX 10//獲取時間,毫秒 long getTime() {struct timeb tb;ftime(&tb);return tb.time * 1000 + tb.millitm; }//打印 void PrintArr(int* arr, int len) {for (int i = 0; i < len; i++){printf("%d ", arr[i]);} }//交換 void exchange(int* a,int*b) {int temp = *a;*a = *b;*b = temp; }//選擇排序 void Select_Sort(int *arr,int len) {for (int i = 0; i < len - 1;i++){int min = i;for (int j = i + 1; j < len;j++){if (arr[min]>arr[j])//交換數組下標{min = j;}}if (min!=i){exchange(&arr[i], &arr[min]);}} }int main(void) {srand((unsigned int)time(NULL));int arr[MAX];for (int i = 0; i < MAX; i++){arr[i] = rand() % MAX;}//printf("選擇排序前:");//PrintArr(arr, MAX);long t_start = getTime();Select_Sort(arr, MAX);long t_end = getTime();printf("\n");//printf("選擇排序后:");//PrintArr(arr, MAX);printf("\n");printf("冒泡排序共花費%ld毫秒\n", t_end - t_start); }總結
以上是生活随笔為你收集整理的数据结构二:排序(冒泡排序和选择排序)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构二:栈
- 下一篇: 数据结构二:排序(插入排序和希尔排序)