/*-------------------------------------------------------------------------------------------
Bubble_sort.h
冒泡排序: 时间复杂度为O(N^2)
改进的冒泡排序: 时间复杂度仍为O(N^2)
一般的冒泡排序方法有可能会在已经排好序的情况下继续比较,改进的冒泡排序
设置了一个哨兵flag,如果一次for循环没有进行交换,则元素已经排好序,由哨兵控制退出循环。
-------------------------------------------------------------------------------------------*/
#ifndef BUBBLE_SORT_H
#define BUBBLE_SORT_H
#include "typedef.h"
#include "swap.h"
//冒泡排序
void Bubble_sort(T *a, int n)
{
for(int i=n-1; i != 0; --i)
for(int j=0; j != i; ++j)
if(a[j+1] < a[j]) swap(a[j+1],a[j]);
}
//改进的冒泡排序
void Improved_Bubble_sort(T *a, int n)
{
for(int i=n-1; i != 0; --i)
{
bool flag = true;
for(int j=0; j != i; ++j) //这一趟遍历如果没有交换,则已完成排序
if(a[j+1] < a[j]) { swap(a[j+1],a[j]); flag = false; }
if(flag == true) break;
}
}
#endif
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有