数据结构与算法(十一) 排序算法一

int nArray\[\] = { 8,5,3,2,7 };如下一个数组,现对其进行从小到大排序

选择排序

选择排序:将小的依次放在前面

具象化如下:

void swap(int *nSValue,int *nDValue) 交换函数

{

int nTempValue = 0;

nTempValue = *nSValue;

*nSValue = *nDValue;

*nDValue = nTempValue;

}

void selectSort(int *pArr, int nCount) 选择排序 将大的放在后面

{

for (size_t i = 0; i < nCount - 1; i++) 遍历4次即可

{

int nMix = pArri; 设置最小值临时变量

for (size_t j = i; j < j++) 当i=0时,会打印不变,课后思考

{

if (pArrj < nMix)

{

swap(&pArrj, &nMix);

}

}

if (nMix != pArri)

{

swap(&pArri, &nMix);

}

}

}

冒泡排序

冒泡排序 默认第一个元素已排序,其他未排序,将已排序元素从前之后依次比对插入合适位置

具象化如下:

void bubbleSort(int *pArr, int nCount)

{

for (size_t i = 0; i < nCount -1; i++)

{

for (size_t j = 0; j < nCount - 1 - i; j++)

{

if (pArrj > pArrj + 1)

{

swap(&pArrj, &pArrj + 1);

}

}

}

}

插入排序

插入排序:默认第一个元素已排序,其他未排序,将已排序元素从前之后依次比对插入合适位置

具象化如下:

void InsertioSort(int *pArr, int nCount)

{

for (size_t i = 1; i < nCount; i++)

{

int nValue = pArri;

int nIndex = i - 1;

while (nIndex >=0&&pArrnIndex > nValue)

{

pArrnIndex + 1 = pArrnIndex;

nIndex--;

}

pArrnIndex + 1 = nValue;

}

}

希尔排序

void ShellSort(int *pArr, int nCount)

{

int nInterval = 1;

while (nInterval < nCount)

{

nInterval = 3 * nInterval + 1;

}

while (nInterval > 0) 如下同插入排序

{

for (size_t i = nInterval; i < nCount; i++)

{

int nValue = pArri;

int nIndex = i - nInterval;

while (nIndex >= 0 && pArrnIndex > nValue)

{

pArrnIndex + nInterval = pArrnIndex;

nIndex = nIndex - nInterval;

}

pArrnIndex + nInterval = nValue;

}

nInterval = nInterval / 3;

}

}

void print(int *pArr,int nCount) 打印数组

{

for (size_t i = 0; i < nCount; i++)

{

std::cout << pArri << "\t";

}

std::cout << std::endl;

}

相关推荐
To_OC1 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
旖-旎2 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
To_OC2 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
delishcomcn3 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹4 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
雪碧聊技术4 小时前
力扣 LCR 091. 粉刷房子 —— 动态规划入门详解
算法·动态规划
延凡科技6 小时前
多场景落地复盘:端边云架构无人机智能巡检系统设计与实践
大数据·数据结构·人工智能·科技·架构·无人机·能源
CV-Climber7 小时前
检索技术的实际应用
人工智能·算法
hhzz7 小时前
Tiger AI Platform平台中增加人脸识别功能
图像处理·人工智能·算法·计算机视觉·大模型