一、冒泡排序(稳定)
void BubbleSort(int arr[],int size)
{
for (int i = 0; i < size-1; i++)
{
bool flag = false;
for (int j = 0; j < size-1-i; j++)
{
if (arr[j] > arr[j + 1])
{
swap(arr[j], arr[j + 1]);
flag = true;
}
}
if (!flag)
{
//如果没有任何的数据进行交换,那么说明数据已经有序了
return;
}
}
}
二、选择排序(不稳定)
void ChoiceSort(int arr[], int size)
{
for (int i = 0; i < size-1; i++)
{
int min = arr[i];
int k = i;
for (int j = i+1; j < size; j++)
{
if (min > arr[j])
{
min = arr[j];
k = j;
}
}
if (k != i)
{
swap(arr[i], arr[k]);
}
}
}
三、插入排序(稳定)
void InsertSort(int arr[], int size)
{
for (int i = 1; i < size; i++)
{
int val = arr[i];
int j = i - 1;
for (; j >= 0; j--)
{
if (arr[j] <= val)
{
break;
}
arr[j + 1] = arr[j];
}
arr[j + 1] = val;
}
}
四、希尔排序(不稳定)
void ShellSort(int arr[], int size)
{
int gap = size / 2;
for (gap; gap > 0; gap /= 2)
{
for (int i = gap; i < size; i++)
{
int val = arr[i];
int j = i - gap;
for (; j >= 0; j-=gap)
{
if (arr[j] <= val)
{
break;
}
arr[j + gap] = arr[j];
}
arr[j + gap] = val;
}
}
}
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。