国产探花免费观看_亚洲丰满少妇自慰呻吟_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語言程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 无极县| 满洲里市| 香格里拉县| 信宜市| 屏山县| 东乡县| 长汀县| 磐安县| 荥经县| 荆门市| 新营市| 无锡市| 海安县| 丰城市| 通河县| 大新县| 宁津县| 阳城县| 镇原县| 南昌市| 合江县| 屏南县| 旬阳县| 霍州市| 东莞市| 石柱| 兴国县| 灵川县| 得荣县| 岳池县| 曲麻莱县| 扎赉特旗| 静安区| 绥芬河市| 苍山县| 应用必备| 伊川县| 青海省| 延庆县| 吉林市| 达拉特旗|