默写冒泡排序+直接插入排序
Posted 霍同学笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了默写冒泡排序+直接插入排序相关的知识,希望对你有一定的参考价值。
冒泡排序-改进 ,头脑里对这幅图像很清晰,一遍过。
void swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
void bubblesort(int arr[], int length)
{
int i, j;
for (i = 0; i < length; i++)
{
bool stamp = true;
for (j = length - 1; j > i; j--)
{
if (arr[j] < arr[j - 1])
swap(&arr[j], &arr[j - 1]);
stamp = false;
}
if (stamp == true)
{
break;
}
}
}
int main()
{
int arr[8] = { 5,0,6,9,4,3,1,2 };
int i;
bubblesort(arr, 8);
for (i = 0; i < 8; i++)
printf("%d ", arr[i]);
return 0;
}
直接插入排序想了一会才想出来,但也是一遍过
void insertionsort(int arr[], int length)
{
int i, j;
for (i = 1; i < length; i++)
{
if (arr[i - 1] > arr[i])
{
int temp = arr[i];
for (j = i - 1; j >= 0 && arr[j] > temp; j--)
{
arr[j + 1] = arr[j];
}
arr[j + 1] = temp;
}
}
}
int main()
{
int arr[12] = { 5,12,65,45,3,5,15,26,0,18,32,22 };
int i;
insertionsort(arr, 12);
for (i = 0; i < 12; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
不错,点赞。
以上是关于默写冒泡排序+直接插入排序的主要内容,如果未能解决你的问题,请参考以下文章
直接插入排序 ,折半插入排序 ,简单选择排序, 希尔排序 ,冒泡排序 ,快速排序 ,堆排序 ,归并排序的图示以及代码,十分清楚
C# 各种内部排序方法的实现(直接插入排序希尔排序冒泡排序快速排序直接选择排序堆排序归并排序基数排序)