无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

排序算法總結(jié)

2023-02-17 09:10 作者:秋名山西  | 我要投稿

#include <stdio.h>


每一輪都會選出一個(gè)最大的數(shù)據(jù)放在隊(duì)列后面,但是它不能保證之前的數(shù)據(jù)是有序的,所以下一次循環(huán)還是要從第一個(gè)元素開始進(jìn)行比較,而且是相鄰兩個(gè)元素兩兩比較
void bubleSort(int *b, int c)
{
??? int i=0,j=0,m=0;

??? for(i=0;i<c;i++)
??? {
??????? for(j=0;j<c-1;j++)
??????? {
??????????? if(b[j]>b[j+1])
??????????? {
??????????????? m=b[j];
??????????????? b[j]=b[j+1];
??????????????? b[j+1]=m;
??????????? }
??????? }
??? }
}
1、數(shù)據(jù)交換發(fā)生在m和i之間,不一定相鄰
2、每一輪都會選出無序數(shù)據(jù)中最小的數(shù)據(jù)放在最前面開始形成有序隊(duì)列,因此下一次選出的數(shù)據(jù)應(yīng)當(dāng)是次最小,所以應(yīng)當(dāng)在下一輪排序中將已經(jīng)有序的元素排除在外
void selectSort(int *b, int c)
{
??? int i=0,j=0,m=0,n=0;
?? ?
??? for(i=0;i<c;i++)
??? {
??????? m=i;
??????? for(j=i+1;j<c&&(b[j]<b[m]);j++)
??????? {
??????????? m=j;
??????? }
??????? n=b[i];
??????? b[i]=b[m];
??????? b[m]=n;
??? }
}
選出第i個(gè)元素插入有序隊(duì)列,而第i個(gè)元素之前的數(shù)據(jù)都是有序的,因此應(yīng)當(dāng)拿第i個(gè)元素與之前的數(shù)據(jù)挨個(gè)對比,符合條件的就兩兩交換數(shù)據(jù)
void insertSort(int *b,int c)
{
??? int i=0,j=0,m=0;
??? for(i=0;i<c;i++)
??? {
??????? m=b[i];
??????? for(j=i;j>0&&(b[j-1]>m),j--)
??????? {
??????????? b[j]=b[j-1];
??????? }
??????? b[j]=m;
??? }
}

排序算法總結(jié)的評論 (共 條)

分享到微博請遵守國家法律
舞钢市| 中山市| 十堰市| 淮阳县| 新宁县| 泗阳县| 日土县| 新干县| 望谟县| 开江县| 永清县| 虞城县| 纳雍县| 夏津县| 平阴县| 澄江县| 玉溪市| 漯河市| 余姚市| 平昌县| 湟源县| 定边县| 六盘水市| 黄陵县| 大余县| 江阴市| 凌源市| 黑龙江省| 镇赉县| 东乌珠穆沁旗| 禹城市| 郎溪县| 绥棱县| 志丹县| 通州市| 德格县| 蒲城县| 新源县| 高青县| 高淳县| 乌拉特前旗|