C語(yǔ)言每日練習(xí)之選擇排序
分析
選擇排序(Selection sort)是一種簡(jiǎn)單直觀的排序算法。它的工作原理是:第一次從待排序的數(shù)據(jù)元素中選出最?。ɑ蜃畲螅┑囊粋€(gè)元素,存放在序列的起始位置,然后再?gòu)氖S嗟奈磁判蛟刂袑ふ业阶钚。ù螅┰?,然后放到已排序的序列的末尾。以此類推,直到全部待排序的?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("請(qǐng)輸入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ù)組長(zhǎng)度
* @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é)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
- c語(yǔ)言冒泡排序和選擇排序的使用代碼
- C語(yǔ)言基本排序算法之插入排序與直接選擇排序?qū)崿F(xiàn)方法
- C語(yǔ)言 選擇排序算法詳解及實(shí)現(xiàn)代碼
- C語(yǔ)言選擇排序算法及實(shí)例代碼
- C語(yǔ)言實(shí)現(xiàn)選擇排序、冒泡排序和快速排序的代碼示例
- 簡(jiǎn)單了解C語(yǔ)言中直接插入排序與直接選擇排序?qū)崿F(xiàn)
- C語(yǔ)言實(shí)現(xiàn)選擇排序、直接插入排序、冒泡排序的示例
- 用c語(yǔ)言實(shí)現(xiàn)冒泡排序,選擇排序,快速排序
- C語(yǔ)言深入探究選擇排序與基數(shù)排序使用案例講解
相關(guān)文章
正確理解C++的構(gòu)造函數(shù)和析構(gòu)函數(shù)
在C++的學(xué)習(xí)中,可以把類當(dāng)作一個(gè)模具,類實(shí)例化出來(lái)的對(duì)象就是根據(jù)這個(gè)模具所產(chǎn)生的實(shí)體,對(duì)象看作是自己創(chuàng)建的一個(gè)新的數(shù)據(jù)類型。本文主要介紹了類對(duì)象通過(guò)拷貝函數(shù)進(jìn)行初始化,分析類對(duì)象的內(nèi)存模型,以及通過(guò)this指針實(shí)現(xiàn)更復(fù)雜的功能。最后介紹了析構(gòu)函數(shù)的基礎(chǔ)知識(shí)2021-06-06
C語(yǔ)言實(shí)現(xiàn)QQ窗口抖動(dòng)功能
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)QQ窗口抖動(dòng)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
C語(yǔ)言超詳細(xì)講解數(shù)據(jù)結(jié)構(gòu)中的線性表
線性表,數(shù)據(jù)結(jié)構(gòu)中最簡(jiǎn)單的一種存儲(chǔ)結(jié)構(gòu),專門用于存儲(chǔ)邏輯關(guān)系為"一對(duì)一"的數(shù)據(jù)。線性表是基于數(shù)據(jù)在實(shí)際物理空間中的存儲(chǔ)狀態(tài),又可細(xì)分為順序表(順序存儲(chǔ)結(jié)構(gòu))和鏈表2022-05-05
C++實(shí)現(xiàn)string存取二進(jìn)制數(shù)據(jù)的方法
這篇文章主要介紹了C++實(shí)現(xiàn)string存取二進(jìn)制數(shù)據(jù)的方法,針對(duì)STL中string的用法進(jìn)行了較為詳細(xì)的分析,需要的朋友可以參考下2014-10-10

