欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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++迷宮問(wèn)題的求解算法

    C++迷宮問(wèn)題的求解算法

    這篇文章主要為大家詳細(xì)介紹了C++迷宮問(wèn)題的求解算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 一步步從底層入手搞定C++引用與內(nèi)聯(lián)函數(shù)

    一步步從底層入手搞定C++引用與內(nèi)聯(lián)函數(shù)

    內(nèi)聯(lián)函數(shù)是代碼插入到調(diào)用者代碼處的函數(shù),內(nèi)聯(lián)函數(shù)通過(guò)避免被調(diào)用的開銷來(lái)提高執(zhí)行效率,下面這篇文章主要給大家介紹了關(guān)于如何從底層入手搞定C++引用與內(nèi)聯(lián)函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • C++ 重載與重寫的區(qū)別與實(shí)現(xiàn)

    C++ 重載與重寫的區(qū)別與實(shí)現(xiàn)

    在面向?qū)ο笳Z(yǔ)言中,經(jīng)常提到重載與重寫,本文主要介紹了C++ 重載與重寫的區(qū)別與實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • C語(yǔ)言結(jié)構(gòu)體(struct)的詳細(xì)講解

    C語(yǔ)言結(jié)構(gòu)體(struct)的詳細(xì)講解

    C語(yǔ)言中,結(jié)構(gòu)體類型屬于一種構(gòu)造類型(其他的構(gòu)造類型還有:數(shù)組類型,聯(lián)合類型),下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言結(jié)構(gòu)體(struct)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • C語(yǔ)言分治法實(shí)現(xiàn)歸并排序

    C語(yǔ)言分治法實(shí)現(xiàn)歸并排序

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)歸并排序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • jquery ready函數(shù)深入分析

    jquery ready函數(shù)深入分析

    本文主要介紹jquery ready,這里整理了相關(guān)資料及相關(guān)示例代碼幫助大家學(xué)習(xí)參考,有興趣的小伙伴可以參考下
    2016-08-08
  • C++中strtok()函數(shù)的用法介紹

    C++中strtok()函數(shù)的用法介紹

    以下是對(duì)C++中strtok()函數(shù)的使用方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-09-09
  • C語(yǔ)言中查詢進(jìn)程信號(hào)是否被遮罩或擱置的簡(jiǎn)單方法

    C語(yǔ)言中查詢進(jìn)程信號(hào)是否被遮罩或擱置的簡(jiǎn)單方法

    這篇文章主要介紹了C語(yǔ)言中查詢進(jìn)程信號(hào)是否被遮罩或擱置的簡(jiǎn)單方法,包括sigprocmask函數(shù)和sigpending函數(shù)的簡(jiǎn)介,需要的朋友可以參考下
    2015-09-09
  • C++ 網(wǎng)絡(luò)連通性檢測(cè)的實(shí)現(xiàn)方法

    C++ 網(wǎng)絡(luò)連通性檢測(cè)的實(shí)現(xiàn)方法

    這篇文章主要介紹了C++ 網(wǎng)絡(luò)連通性檢測(cè)的實(shí)現(xiàn)方法的相關(guān)資料,這里提供實(shí)例幫助大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-09-09
  • C++中異常處理的基本思想及throw語(yǔ)句拋出異常的使用

    C++中異常處理的基本思想及throw語(yǔ)句拋出異常的使用

    這篇文章主要介紹了C++中異常處理的基本思想及throw類拋出異常的使用,也深入談到了異常被拋出后的棧解旋unwinding過(guò)程,需要的朋友可以參考下
    2016-03-03

最新評(píng)論