排序
1.交换法
思想: 将每一位数与它之后的所有数字对比,如果发现比它小的数字,那么立即交换这两个数字的位置,连续向后对比直至最后一个数;然后再使用第二个数同样依次向后对比,直到排序完成。
for (int i = 0; i < n-1; i++)
{
for (int j = i+1; j < n; j++)
{
if (arr[i] > arr[j])//从小到大
{
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
}
2.冒泡排序法
思想:
1.从上到下,相邻元素进行比较。
2.每次比较一轮,就会找到序列中最大的一个。这个数就会下沉到序列的最下边。
3.第一轮比较后,所有数中最大的那个数就会沉到最下边;第二轮比较后,所有数中第二大的那个数就会沉到倒数第二个位置……就这样一轮一轮地比较,最后实现从小到大排序。
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - 1 - i; j++)
{
int t = 0;//从小到大排序
if (a[j] > a[j + 1])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}