C語言每日練習(xí)之選擇排序
分析
選擇排序(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++的學(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語言超詳細講解數(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ù)的方法,針對STL中string的用法進行了較為詳細的分析,需要的朋友可以參考下2014-10-10

