//冒泡排序
int a[10] = { 223, 345, 56, 4234, 567, 434, 7667, 434, 56, 72 };
//升序排列
for (int j = 1; j <= 9; j++)//趟数
{
for (int i = 0; i < 10 - j; i++)//每趟比较的次数
{
//相邻元素相互比较,不满足排序准则交换元素的值
if (a[i]>a[i + 1])
{
int Temp = a[i];
a[i] = a[i + 1];
a[i + 1] = Temp;
}
}
}
for (int i = 0; i < 10; i++)
{
cout << a[i] << endl;
}
//选择排序
/*int a[10] = { 43, 4545, 67, 5445, 676, 56, 7878, 45, 676, 98 };
//降序
for (int j = 0; j<9; j++)
{
//保存最大元素对应的下标
int max=j;
//查找最大元素的索引值(下标)
for (int i =j+1; i < 10 ; i++)
{
if (a[max] {
max=i;
}
}
//当前元素不是最大元素
if(j!=max)
{
int Temp = a[j];
a[j] = a[max];
a[max] = Temp;
}
}
for (int i = 0; i < 10; i++)
{
cout << a[i] << endl;
}
//插入排序
int a[10] = { 43, 3543, 5465, 4324, 56, 45534, 456, 43, 567, 78 };
for (int j = 1; j < 10; j++)//插入元素的下标
{
//保存插入元素的下标和值
int Temp = a[j];
int i = j - 1;
//查找插入的位置
for (; i >= 0; i--)
{
//不满足排序准则,当前元素往后移动一位
if (Temp < a[i])
a[i + 1] = a[i];
else
break;
}
a[i + 1] = Temp;
}
for (int i = 0; i < 10; i++)
{
cout << a[i] << endl;
}



