最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言排序算法之冒泡排序實現(xiàn)方法【改進版】

 更新時間:2017年09月25日 09:16:39   作者:liyuxia713  
這篇文章主要介紹了C語言排序算法之冒泡排序實現(xiàn)方法,結合具體實例形式分析了C語言實現(xiàn)的基本冒泡排序實現(xiàn)方法及增設flag標志位的改進型算法,需要的朋友可以參考下

本文實例講述了C語言排序算法之冒泡排序實現(xiàn)方法。分享給大家供大家參考,具體如下:

冒泡排序和改進的冒泡排序

/*-------------------------------------------------------------------------------------------
Bubble_sort.h
冒泡排序: 時間復雜度為O(N^2)
改進的冒泡排序: 時間復雜度仍為O(N^2)
  一般的冒泡排序方法有可能會在已經排好序的情況下繼續(xù)比較,改進的冒泡排序
  設置了一個哨兵flag,如果一次for循環(huán)沒有進行交換,則元素已經排好序,由哨兵控制退出循環(huán)。
-------------------------------------------------------------------------------------------*/
#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

希望本文所述對大家C語言程序設計有所幫助。

相關文章

  • C語言實現(xiàn)簡單彈跳球游戲

    C語言實現(xiàn)簡單彈跳球游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單彈跳球游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Linux/Manjaro如何配置Vscode的C/C++編譯環(huán)境

    Linux/Manjaro如何配置Vscode的C/C++編譯環(huán)境

    這篇文章主要介紹了Linux/Manjaro配置Vscode的C/C++編譯環(huán)境,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • C/C++后端學習與練習深入

    C/C++后端學習與練習深入

    這篇文章主要介紹了C/C++對于后端的學習與練習,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • C++中的string類型

    C++中的string類型

    這篇文章主要介紹了C++中的string類型,在C++當中,除了char 類型,還有專門的字符串類型,就叫做string,下面文字將圍繞其相關資料展開詳細內容,需要的朋友可以參考一下,希望對你有所幫助
    2021-11-11
  • 基于C中一個行壓縮圖的簡單實現(xiàn)代碼

    基于C中一個行壓縮圖的簡單實現(xiàn)代碼

    首先簡單說一下什么是行壓縮圖,其實嚴格意義上應該是行壓縮矩陣
    2013-05-05
  • VS2019如何創(chuàng)建C++項目的實現(xiàn)示例

    VS2019如何創(chuàng)建C++項目的實現(xiàn)示例

    這篇文章主要介紹了VS2019如何創(chuàng)建C++項目的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Qt+QWidget實現(xiàn)簡約美觀的加載動畫

    Qt+QWidget實現(xiàn)簡約美觀的加載動畫

    這篇文章主要為大家詳細介紹了Qt如何結合QWidget實現(xiàn)簡約美觀的加載動畫,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-02-02
  • 淺談c/c++中使用指針需要注意的問題

    淺談c/c++中使用指針需要注意的問題

    下面小編就為大家?guī)硪黄獪\談c/c++中使用指針需要注意的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • C#中委托的基本用法總結

    C#中委托的基本用法總結

    以下是對C#中委托的基本用法進行了詳細的總結分析,需要的朋友可以過來參考下。希望對大家有所幫助
    2013-09-09
  • C語言超詳細文件操作基礎下篇

    C語言超詳細文件操作基礎下篇

    這篇文章主要為大家詳細介紹了C語言的文件操作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03

最新評論

安新县| 临高县| 关岭| 分宜县| 奉化市| 华容县| 余庆县| 乌拉特后旗| 淅川县| 新巴尔虎右旗| 泽普县| 健康| 昌江| 朝阳市| 建水县| 文登市| 安塞县| 郸城县| 慈利县| 乌拉特后旗| 那坡县| 会同县| 师宗县| 西充县| 怀远县| 东阿县| 肥西县| 德钦县| 肇州县| 富川| 麦盖提县| 海伦市| 武义县| 新巴尔虎左旗| 通化市| 绥中县| 玉树县| 新安县| 贵港市| 保亭| 达州市|