当前位置: 首页 > news >正文

手机网站开发工具vi设计要求

手机网站开发工具,vi设计要求,东莞附近的网络推手公司,东营网站建设课程定位优化排序算法通常是针对数组或链表进行排序&#xff0c;在C语言中&#xff0c;需要手写排序算法完成对数据的排序&#xff0c;排序规则通常为升序或降序&#xff08;本文默认为升序&#xff09;&#xff0c;在C中&#xff0c;<algorithm>头文件中已经封装了基于快排算法的 st…

排序算法通常是针对数组或链表进行排序,在C语言中,需要手写排序算法完成对数据的排序,排序规则通常为升序或降序(本文默认为升序),在C++中,<algorithm>头文件中已经封装了基于快排算法的 std::sort() 函数,但是快速排序是不稳定的排序算法,于是<algorithm>中还包含了 stable_sort() 函数,即保留了等值元素的相对顺序。

稳定性:通常,在排序算法中,稳定性是指如果两个元素在原始数组中的相对顺序保持不变,则在排序后它们的相对顺序也应该保持不变。换句话说,如果有两个相等的元素,它们的位置在排序之前是 a 和 b,且 a 在 b 的前面,那么在排序后,a 仍然应该在 b 的前面。

在进行排序算法之前,先定义一个用于交换元素位置的函数:

void Swap(int* a, int* b)
{int tmp = *a;*a = *b;*b = tmp;
}

一、冒泡排序(Bubble Sort)

冒泡排序的核心算法是暴力求解思维,是指将所有元素都相互比较一次,若靠前的数比靠后的数大,则将两个数交换位置。

  • 排序对象:数组
  • 时间复杂度:O(n^2)
  • 空间复杂度:O(1)
  • 是否稳定:是
void BubbleSort(int* arr, int n)
{for (int i = 0; i < n; ++i){for (int j = 0; j < n - i - 1; ++j){if (arr[j] > arr[j + 1]){Swap(&arr[j], &arr[j + 1]);}}}
}

二、插入排序(Insert Sort)

插入排序的核心算法是将当前遍历到的地方的末尾数据往前比较,找到合适的位置进行插入,直到遍历到最后一个数据。

  • 排序对象:数组、链表
  • 时间复杂度:O(n^2)
  • 空间复杂度:O(1)
  • 是否稳定:是
void InsertSort(int* arr, int n)
{int i = 1;for (; i < n; ++i){int j = i;int end = arr[j];while (j > 0 && arr[j - 1] > end){arr[j] = arr[j - 1];--j;}arr[j] = end;}
}

三、选择排序(Select Sort)

选择排序的算法核心是找到数组的最大值和最小值,将其和遍历数组的左右端进行交换,然后左端右移、右端左移。简易版的选择排序算法会只找一个最值进行交换。

  • 排序对象:数组、链表
  • 时间复杂度:O(n^2)
  • 空间复杂度:O(1)
  • 是否稳定:否
void SelectSort(int* arr, int n)
{int left = 0;int right = n - 1;while (left < right){int iMin = left; int iMax = right;for (int i = left; i <= right; ++i){if (arr[i] < arr[iMin])iMin = i;if (arr[i] > arr[iMax])iMax = i;} Swap(&arr[left], &arr[iMin]);if (left == iMax)iMax = iMin;Swap(&arr[right], &arr[iMax]);++left;--right;}
}

http://www.yayakq.cn/news/407106/

相关文章:

  • 可以和朋友合资做网站吗下载别人网站的asp
  • 网站模块数据同步asp.net 3.5网站开发全程解析
  • 便宜的网站空间做一些好玩的个人网站
  • 信誉好的常州做网站Wordpress微博样式
  • 企业网站优化做什么东莞公司网络营销公司
  • 哈尔滨座做网站的c 可以做网站嘛
  • 网站如何排版百度推广登录入口电脑
  • 张家口城乡建设局网站计算机网站建设体会
  • 网站群管理平台深圳哪些公司需要做网站
  • 网站建设推广服务合同范本迅速编程做网站
  • 网站虚拟机可以自己做吗下载官方购物网站
  • 如果网站曾被挂木马中国114黄页网站宣传广告
  • 建设网站技术公司简介深圳创业补贴政策2021
  • 中国建行官方网站做网站muse好还是DW好用
  • 锡盟建设工程造价管理站网站如何自助建网站
  • 网站建站模板样例网站的区别
  • 山东天狐做网站cms军事新闻视频在线观看
  • 个人做财经类网站wordpress产品展示类
  • 珠海企业医疗网站建设q版网页游戏大全
  • 广安门内网站建设中国核工业二三建设有限公司招聘信息
  • 哪些网站做外链好软件开发入门
  • 公司网站怎么做网站备案wordpress 微博插件
  • 商城网站设计制作html中网站最下面怎么做
  • 网站seo优化主要有哪些手段网站源码下载插件
  • 怎么做关不掉的网站公众号做微网站
  • 网站建设模板怎么设计南京外贸网站建设公司
  • 网站建设开场白百姓网网站开发的意义
  • 做云购网站网站实时推送怎么做
  • 学校网站做等级保护勉费申请做网站
  • 优秀国外网站设计赏析外贸网站模板制作