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

C語(yǔ)言基本排序算法之插入排序與直接選擇排序?qū)崿F(xiàn)方法

 更新時(shí)間:2017年09月25日 09:00:10   作者:liyuxia713  
這篇文章主要介紹了C語(yǔ)言基本排序算法之插入排序與直接選擇排序?qū)崿F(xiàn)方法,結(jié)合具體實(shí)例形式分析了插入排序與直接選擇排序的定義、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了C語(yǔ)言基本排序算法之插入排序與直接選擇排序?qū)崿F(xiàn)方法。分享給大家供大家參考,具體如下:

聲明待排序元素類型

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

插入排序:

/*---------------------------------------------------------------------------------------
Insertion_sort.h
直接插入排序
對(duì)以數(shù)組形式給出的元素排序
時(shí)間復(fù)雜度為(逆序數(shù))N(N-1)/4 = O(N^2),并且在最壞情形下達(dá)到這個(gè)值
最好情形下運(yùn)行N次,最壞情形下運(yù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
直接選擇排序
時(shí)間復(fù)雜度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

希望本文所述對(duì)大家C語(yǔ)言程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C++基于遞歸和非遞歸算法求二叉樹(shù)鏡像的方法

    C++基于遞歸和非遞歸算法求二叉樹(shù)鏡像的方法

    這篇文章主要介紹了C++基于遞歸和非遞歸算法求二叉樹(shù)鏡像的方法,針對(duì)二叉樹(shù)遍歷結(jié)合實(shí)例形式分析了遞歸與非遞歸算法的實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下
    2017-05-05
  • VS2019+MPI配置過(guò)程的實(shí)現(xiàn)步驟

    VS2019+MPI配置過(guò)程的實(shí)現(xiàn)步驟

    本文介紹了在VS2019上配置MPI,包括下載和安裝MPI、創(chuàng)建項(xiàng)目、配置屬性、導(dǎo)入頭文件和庫(kù)文件、添加依賴項(xiàng)等步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • 深入理解C語(yǔ)言的邏輯控制

    深入理解C語(yǔ)言的邏輯控制

    這篇文章主要介紹了C語(yǔ)言的邏輯控制,對(duì)C語(yǔ)言的邏輯控制有較為深入的剖析,需要的朋友可以參考下
    2014-07-07
  • C++類的靜態(tài)成員變量與靜態(tài)成員函數(shù)詳解

    C++類的靜態(tài)成員變量與靜態(tài)成員函數(shù)詳解

    下面小編就為大家?guī)?lái)一篇C++類的靜態(tài)成員變量與靜態(tài)成員函數(shù)的文章。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-11-11
  • C++深入細(xì)致探究二叉搜索樹(shù)

    C++深入細(xì)致探究二叉搜索樹(shù)

    二叉搜索樹(shù)是以一棵二叉樹(shù)來(lái)組織的。每個(gè)節(jié)點(diǎn)是一個(gè)對(duì)象,包含的屬性有l(wèi)eft,right,p和key,其中,left指向該節(jié)點(diǎn)的左孩子,right指向該節(jié)點(diǎn)的右孩子,p指向該節(jié)點(diǎn)的父節(jié)點(diǎn),key是它的值
    2022-05-05
  • 使用?Visual?Studio?2022?開(kāi)發(fā)?Linux?C++?應(yīng)用程序的過(guò)程詳解

    使用?Visual?Studio?2022?開(kāi)發(fā)?Linux?C++?應(yīng)用程序的過(guò)程詳解

    Visual?Studio?2022?引入了用于?Linux?C++?開(kāi)發(fā)的本機(jī)?WSL2?工具集,可以構(gòu)建和調(diào)試?Linux?C++?代碼,并提供了非常好的?Linux?文件系統(tǒng)性能、GUI?支持和完整的系統(tǒng)調(diào)用兼容性,這篇文章主要介紹了使用Visual?Studio?2022?開(kāi)發(fā)?Linux?C++?應(yīng)用程序,需要的朋友可以參考下
    2021-11-11
  • opengl繪制五星紅旗

    opengl繪制五星紅旗

    這篇文章主要為大家詳細(xì)介紹了opengl繪制五星紅旗的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • C++設(shè)計(jì)模式之Static Factory模式詳解

    C++設(shè)計(jì)模式之Static Factory模式詳解

    這篇文章主要為大家詳細(xì)介紹了C++設(shè)計(jì)模式之Static Factory模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 原碼, 反碼與補(bǔ)碼基礎(chǔ)知識(shí)詳細(xì)介紹

    原碼, 反碼與補(bǔ)碼基礎(chǔ)知識(shí)詳細(xì)介紹

    這篇文章講解了計(jì)算機(jī)的原碼, 反碼和補(bǔ)碼. 并且進(jìn)行了深入探求了為何要使用反碼和補(bǔ)碼, 以及更進(jìn)一步的論證了為何可以用反碼, 補(bǔ)碼的加法計(jì)算原碼的減法,需要的朋友可以參考下
    2016-12-12
  • C++ STL標(biāo)準(zhǔn)庫(kù)std::vector的使用詳解

    C++ STL標(biāo)準(zhǔn)庫(kù)std::vector的使用詳解

    vector 是表示可以改變大小的數(shù)組的序列容器,本文主要介紹了C++ STL標(biāo)準(zhǔn)庫(kù)std::vector的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評(píng)論

邢台县| 吉木乃县| 永城市| 郴州市| 海兴县| 吴忠市| 汤原县| 循化| 分宜县| 石棉县| 大竹县| 绩溪县| 武乡县| 临桂县| 鲜城| 蒲江县| 金山区| 东乡| 泰和县| 蕉岭县| 益阳市| 都匀市| 曲麻莱县| 浦东新区| 临沭县| 安西县| 永泰县| 黄梅县| 茶陵县| 玛纳斯县| 融水| 沿河| 石嘴山市| 凤山市| 清徐县| 泽库县| 花垣县| 辰溪县| 衢州市| 通渭县| 资源县|