#include <iostream>
#include "time.h"
#define Max 10
#include <sys/timeb.h>//获得时间
long getSystemTime(){
struct timeb tb;
ftime(&tb);
return tb.time*1000+tb.millitm;
}
void Swap(int* a,int *b){
int temp = *a;
*a = *b;
*b = temp;
}
int flag = 0;//0表示没有排序好
void Bubblesort(int arr[],int length){
for(int i = 0;i<length && flag == 0;i++){
flag = 1;//认为排序好了
for(int j = length-1;j>i;j--){//越界<length
if(arr[j-1]<arr[j]){
flag = 0;
Swap(&arr[j-1],&arr[j]);
}
}
}
}
void PrintArray(int arr[],int length){
for(int i = 0;i<length;i++){
printf("%d",arr[i]);
}
printf("\n");
}
int main(){
int arr[Max];
srand((unsigned int)time(NULL));//产生随机数
for(int i = 0;i<Max;i++){
arr[i]=rand()%Max;
}
printf("排序前:\n");
PrintArray(arr,Max);
long tstart = getSystemTime();
Bubblesort(arr,Max);
long tend = getSystemTime();
printf("冒泡排序后:\n");
PrintArray(arr,Max);
printf("冒泡排序%d个元素需要的时间是:%ld \n",Max,tend-tstart);
}
冒泡排序的实现
最新推荐文章于 2024-08-26 17:31:44 发布