国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C語言基本排序算法之插入排序與直接選擇排序實現方法

2020-05-23 13:40:32
字體:
來源:轉載
供稿:網友

本文實例講述了C語言基本排序算法之插入排序與直接選擇排序實現方法。分享給大家供大家參考,具體如下:

聲明待排序元素類型

/*--------------------------typedef.h方便修改待排序元素類型-------------------------------------*/#ifndef TYPEDEF_H#define TYPEDEF_Htypedef int T;#endif

插入排序:

/*---------------------------------------------------------------------------------------Insertion_sort.h直接插入排序對以數組形式給出的元素排序時間復雜度為(逆序數)N(N-1)/4 = O(N^2),并且在最壞情形下達到這個值最好情形下運行N次,最壞情形下運行2+3+…+N------------------------------------------------------------------------------------------------*/#ifndef INSERTION_SORT_H#define INSERTION_SORT_H#include "typedef.h"//直接插入排序 void Insertion_sort(T *a, int n){  for(int i = 1; i != n; ++i)  {    T temp = a[i];    int j = i - 1;    for(; j >= 0 && temp < a[j]; --j )      a[j + 1] = a[j];    a[j + 1] = temp;  }}#endif

直接選擇排序:

/*----------------------------------------------DirectSelection_sort.h直接選擇排序時間復雜度O(N^2)--------------------------------------------------------*/#ifndef DIRECTSELECTION_SORT_H#define DIRECTSELECTION_SORT_H#include "typedef.h"#include "swap.h"//直接選擇法排序void DirectSelection_sort(T*a, int n){  for(int i = 0; i != n; ++i)  {    int k = i;    for(int j = i; j != n; ++j)      if(a[j] < a[k]) k = j;    swap(a[k],a[i]);  }}#endif

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伽师县| 通道| 阿拉善左旗| 公安县| 舟山市| 周宁县| 沅陵县| 阿坝县| 澜沧| 长武县| 萨迦县| 玛沁县| 六枝特区| 余姚市| 顺义区| 大竹县| 松潘县| 皮山县| 六安市| 罗平县| 开江县| 海南省| 芦山县| 荣成市| 崇义县| 宜兰县| 湛江市| 即墨市| 布尔津县| 轮台县| 宣城市| 九龙城区| 大渡口区| 芜湖县| 乌鲁木齐县| 田林县| 攀枝花市| 凭祥市| 偏关县| 洮南市| 旅游|