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

C語言每日練習(xí)之選擇排序

 更新時(shí)間:2021年11月11日 11:23:38   作者:小輝_Super  
本篇文章主要介紹了 C語言的選擇排序,這里提供代碼實(shí)例以便大家理解,通過本文,更好的理解排序算法

分析

選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理是:第一次從待排序的數(shù)據(jù)元素中選出最小(或最大)的一個(gè)元素,存放在序列的起始位置,然后再從剩余的未排序元素中尋找到最?。ù螅┰兀缓蠓诺揭雅判虻男蛄械哪┪?。以此類推,直到全部待排序的數(shù)據(jù)元素的個(gè)數(shù)為零。選擇排序是不穩(wěn)定的排序方法?!俣劝倏?/p>

代碼實(shí)現(xiàn)

#include <stdio.h>
#define INTEGER_RANGE 10  //數(shù)字范圍
void select_sort(int *array, int len);

int main()
{
    int i = 0;
    int array[INTEGER_RANGE] = {0};
    printf("請輸入10個(gè)數(shù)\n");
    for(i = 0; i < INTEGER_RANGE; i++)
        scanf("%d", array + i);
    select_sort(array, INTEGER_RANGE);
    printf("排序后:\n");
    for(i = 0; i < INTEGER_RANGE; i++)
        printf("%d ", array[i]);
    printf("\n");
    return 0;
}
/**
 * @brief 選擇排序
 * @param array:數(shù)組 len:數(shù)組長度
 * @return 空
 */
void select_sort(int *array, int len)
{
    int i = 0;
    int j = 0;
    int tmp = 0;
    for(i = 0; i < len; i++)
    {
        for(j = i + 1; j < len; j++)
        {
            if(array[j] < array[i])
            {
                tmp = array[j];
                array[j] = array[i];
                array[i] = tmp;
            }
        }
    }
}

運(yùn)行結(jié)果

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 正確理解C++的構(gòu)造函數(shù)和析構(gòu)函數(shù)

    正確理解C++的構(gòu)造函數(shù)和析構(gòu)函數(shù)

    在C++的學(xué)習(xí)中,可以把類當(dāng)作一個(gè)模具,類實(shí)例化出來的對象就是根據(jù)這個(gè)模具所產(chǎn)生的實(shí)體,對象看作是自己創(chuàng)建的一個(gè)新的數(shù)據(jù)類型。本文主要介紹了類對象通過拷貝函數(shù)進(jìn)行初始化,分析類對象的內(nèi)存模型,以及通過this指針實(shí)現(xiàn)更復(fù)雜的功能。最后介紹了析構(gòu)函數(shù)的基礎(chǔ)知識
    2021-06-06
  • 詳解c++中的trait與policy模板技術(shù)

    詳解c++中的trait與policy模板技術(shù)

    trait模板和policy模板技術(shù)是把模板的trait和policy這兩個(gè)針對不同具體類型有變化的方面抽離出來形成兩個(gè)獨(dú)立的模板。由于trait和policy本身是模板,它的行為是可配置的,在模板中通過組合或者以模板實(shí)參傳進(jìn)來的方式使用trait和policy,就可以配置出不同的具體實(shí)現(xiàn)
    2021-06-06
  • C語言實(shí)現(xiàn)QQ窗口抖動功能

    C語言實(shí)現(xiàn)QQ窗口抖動功能

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)QQ窗口抖動功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C語言超詳細(xì)講解數(shù)據(jù)結(jié)構(gòu)中的線性表

    C語言超詳細(xì)講解數(shù)據(jù)結(jié)構(gòu)中的線性表

    線性表,數(shù)據(jù)結(jié)構(gòu)中最簡單的一種存儲結(jié)構(gòu),專門用于存儲邏輯關(guān)系為"一對一"的數(shù)據(jù)。線性表是基于數(shù)據(jù)在實(shí)際物理空間中的存儲狀態(tài),又可細(xì)分為順序表(順序存儲結(jié)構(gòu))和鏈表
    2022-05-05
  • C++實(shí)現(xiàn)string存取二進(jìn)制數(shù)據(jù)的方法

    C++實(shí)現(xiàn)string存取二進(jìn)制數(shù)據(jù)的方法

    這篇文章主要介紹了C++實(shí)現(xiàn)string存取二進(jìn)制數(shù)據(jù)的方法,針對STL中string的用法進(jìn)行了較為詳細(xì)的分析,需要的朋友可以參考下
    2014-10-10
  • 淺談c++ hook 鉤子的使用介紹

    淺談c++ hook 鉤子的使用介紹

    本篇文章主要介紹了淺談c++ hook 鉤子的使用介紹,詳細(xì)的介紹了c++ hook 鉤子的原理和運(yùn)行機(jī)制,有興趣的可以了解一下
    2017-11-11
  • C++中的自增與自減

    C++中的自增與自減

    這篇文章主要介紹了C++中的自增與自減,自增與自減是C++當(dāng)中兩個(gè)使用頻率非常高的運(yùn)算符,不僅在循環(huán)當(dāng)中用到,在日常的代碼當(dāng)中也經(jīng)常使用,下面來看看文章得具體介紹
    2021-11-11
  • C++類和對象基礎(chǔ)詳解

    C++類和對象基礎(chǔ)詳解

    類是創(chuàng)建對象的模板,一個(gè)類可以創(chuàng)建多個(gè)對象,每個(gè)對象都是類類型的一個(gè)變量;創(chuàng)建對象的過程也叫類的實(shí)例化。每個(gè)對象都是類的一個(gè)具體實(shí)例(Instance),擁有類的成員變量和成員函數(shù)
    2021-08-08
  • 淺談C++11的std::mem_fn源碼解析

    淺談C++11的std::mem_fn源碼解析

    本文是基于gcc-4.9.0的源代碼進(jìn)行分析,std::mem_fn是C++11才加入標(biāo)準(zhǔn)的,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 最新評論