c++插入排序
来源:互联网 发布:linux下安装magento 编辑:程序博客网 时间:2024/06/15 01:15
void InsertSort(int arr[], int length)
{
if (arr == nullptr || length <= 0)
{
return;
}
int tmp = 0;
for (int i = 1; i < length; ++i)
{
for (int j = 0; j < i; ++j)
{
if (arr[i] > arr[i - 1])//当前元素比前一个元素大,直接当前元素后移
break;
if (arr[i] > arr[j])//查找子序列中大于arr[i]元素的位置
{
continue;
}
int num = i - j; //记录需要移动元素的数量
int pos = i; //记录需要移动的元素的位置
int tmp = arr[i];
while (num--)
{
arr[pos] = arr[pos - 1];
--pos;
}
arr[pos] = tmp;
break;
}
}
}
{
if (arr == nullptr || length <= 0)
{
return;
}
int tmp = 0;
for (int i = 1; i < length; ++i)
{
for (int j = 0; j < i; ++j)
{
if (arr[i] > arr[i - 1])//当前元素比前一个元素大,直接当前元素后移
break;
if (arr[i] > arr[j])//查找子序列中大于arr[i]元素的位置
{
continue;
}
int num = i - j; //记录需要移动元素的数量
int pos = i; //记录需要移动的元素的位置
int tmp = arr[i];
while (num--)
{
arr[pos] = arr[pos - 1];
--pos;
}
arr[pos] = tmp;
break;
}
}
}
阅读全文
0 0
- 插入排序(C/C++)
- 插入排序 --C数据结构
- 插入排序(C#)
- 插入排序C语言
- c语言插入排序
- 插入排序C实现
- C插入排序
- C语言 --- 插入排序
- C实现插入排序
- C语言插入排序
- C语言插入排序
- C语言插入排序
- linux c插入排序
- 插入排序 C实现
- C语言插入排序
- C++_插入排序
- [C#]插入排序
- 【c++】插入法排序
- Windows服务器下安装Ngnix服务
- 对I2C总线的时钟同步和总线仲裁的深入理解
- 不平衡数据的机器学习
- GKMonteCarloStrategist
- 在Excel中怎么筛选唯一值或删除重复值以及对其应用条件格式
- c++插入排序
- 如何申请一个微信公众号的详细流程思维导图(图)
- AS中的minSdkVersion、compileSdkVersion、targetSdkVersion、buildTools及tools关系和区别
- 数据结构-线性表之顺序储存(Java实现)
- Java模版方法模式
- Linux技术(2)--Centos6.5安装MySQL
- 1004. 成绩排名 (20)
- 设计模式(七)——策略模式
- js请求成功后跳转