300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > C++笔试面试必知必会-基础排序算法

C++笔试面试必知必会-基础排序算法

时间:2024-07-03 17:58:04

相关推荐

C++笔试面试必知必会-基础排序算法

文章目录

一、冒泡排序(稳定)二、选择排序(不稳定)三、插入排序(稳定)四、希尔排序(不稳定)总结

一、冒泡排序(稳定)

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提供了大量能使我们快速便捷地处理数据的函数和方法。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。