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

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

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

分析

選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理是:第一次從待排序的數(shù)據(jù)元素中選出最?。ɑ蜃畲螅┑囊粋€元素,存放在序列的起始位置,然后再從剩余的未排序元素中尋找到最?。ù螅┰?,然后放到已排序的序列的末尾。以此類推,直到全部待排序的數(shù)據(jù)元素的個數(shù)為零。選擇排序是不穩(wěn)定的排序方法?!俣劝倏?/p>

代碼實現(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個數(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;
            }
        }
    }
}

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

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

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

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

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

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

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

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

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

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

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

    C++中的自增與自減

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

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

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

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

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