C語言每日練習(xí)之選擇排序
分析
選擇排序(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++的學(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-06C語言超詳細(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-05C++實(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