选择排序
- 从第[i,n]中挑选最小的元素,使其与A[i]交换
代码
//选择排序
int datas[];
int n;
void selectSort()
{
for (int i = 0; i < n; i++)
{
int minIndex = i;
for (int j = i + 1; j < n; j++)
{
if (datas[j] < datas[minIndex])
{
minIndex = j;
}
}
int temp = datas[minIndex];
datas[minIndex] = datas[i];
datas[i] = temp;
}
}
插入排序
- 从已排序好的[0,i-1]中找到第i个元素应该出现的位置
int datas[];
int n;
void insertSort()
{
for (int i = 0; i < n; i++)
{
int index = 0, num = datas[i];
for (int j = i-1; j>=0; j--)
{
if (num > datas[j])
{
index = j+1;
break;
}
datas[j + 1] = datas[j];
}
//将num放在Index处
datas[index] = num;
}
}