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

信托公司网站建设windows搭建php网站

信托公司网站建设,windows搭建php网站,网上商城建设公司,网站租空间多少钱实现三种简单的排序算法 文章目录 冒泡排序改进改进2 选择排序插入排序执行结果 冒泡排序 每次外层循环&#xff0c;排出一个最大值 void bubbleSort(int arr[], int len) {for (int i 0; i < len - 1; i) {for (int j 0; j < len - i - 1; j) {if (arr[j] > arr[…

实现三种简单的排序算法

文章目录

  • 冒泡排序
    • 改进
    • 改进2
  • 选择排序
  • 插入排序
  • 执行结果

冒泡排序

每次外层循环,排出一个最大值

void bubbleSort(int arr[], int len) {for (int i = 0; i < len - 1; i++) {for (int j = 0; j < len - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}
}

改进

  1. 设置排序完成标志,如果排序完成跳出循环
  2. 通过设置边界,跳过无意义的片段
void bubbleSort2(int arr[], int len) {int border = len - 1;for (int i = 0; i < len; i++) {bool isSorted = true;int lastSwap = 0;for (int j = 0; j < border; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;isSorted = false;lastSwap = j;}}border = lastSwap;if (isSorted) {break;}}
}

改进2

双向冒泡排序,又称鸡尾酒排序

void bubbleSort3(int arr[], int len) {for (int i = 0; i < len / 2; i++) {//有序标记,每一轮的初始值都是truebool isSorted = true;//奇数轮,从左向右比较和交换for (int j = i; j < len - i - 1; j++) {if (arr[j] > arr[j + 1]) {int t1 = arr[j];arr[j] = arr[j + 1];arr[j + 1] = t1;isSorted = false;}}if (isSorted) {break;}//在偶数轮之前,将isSorted重新标记为trueisSorted = true;for (int j = len - i - 1; j > i; j--) {if (arr[j] < arr[j - 1]) {int t2 = arr[j];arr[j] = arr[j - 1];arr[j - 1] = t2;isSorted = false;}}if (isSorted) {break;}}
}

动态记录有效边界

void bubbleSort4(int arr[], int len) {int left = 0;int right = len - 1;int lastSwap = 0;while (left < right) {// 奇数轮lastSwap = left;for (int i = left; i < right; i++) {if (arr[i] > arr[i+1]) {int t1 = arr[i];arr[i] = arr[i+ 1];arr[i+ 1] = t1;lastSwap = i;}}// 收缩右边界right = lastSwap;// 偶数轮lastSwap = right;for (int i = right; i > left; i--) {if (arr[i] < arr[i - 1]) {int t2 = arr[i];arr[i] = arr[i - 1];arr[i - 1] = t2;lastSwap = i;}}// 收缩左边界left = lastSwap;}
}

选择排序

每次循环选出一个最小值,放在数组最前面

  void selectionSort(int arr[], int len) {for (int i = 0; i < len; i++) {int minIndex = i;for (int j = i + 1; j < len; j++) {if (arr[j] < arr[minIndex]) {minIndex = j;}}int temp = arr[i];arr[i] = arr[minIndex];arr[minIndex] = temp;}
}

插入排序

每次将一个数加入到已经排好序的数列当中
第一个数是直接排好的

void insertionSort(int arr[], int len) {for (int i = 1; i < len; i++) {int key = arr[i];int j = i - 1;while (j >= 0 && arr[j] > key) {arr[j + 1] = arr[j];j--;}arr[j + 1] = key;}
}

执行结果

int main() {//定义数组元素int array[] = {12, 3, 77, 34, 91, 23, 19, 1,45, 37};int len = sizeof(array) / sizeof(array[0]);insertionSort(array, len);//输出for (int i = 0; i < len; i++) {printf("%d ", array[i]);}printf("\n");return 0;
}

![在


文章转载自:

http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://00000000.myrmm.cn
http://www.dtcms.com/wzjs/604644.html

相关文章:

  • 网站建设目的确定龙岩有什么招聘本地网站
  • 网站左侧悬浮安徽省建设厅网站证书查询
  • 做微网站的公司哪家好营销网站建设专业服务公司
  • 万网空间上传网站吗北京外贸网站优化
  • 滨州建设工程备案网站wordpress可爱主题下载
  • 河南企业网站定制iis网站怎么做全站伪静态
  • 台州建设网站免费推广策略
  • 备案我网站的大致内容是网站做美食视频挣钱吗
  • 网路神做网站怎么样建设mylove卡网站
  • 开源asp学校系统网站爱奇艺的网站是用什么做的
  • 怎么在百度搜索自己的网站网站系统环境的搭建
  • 公司网站维护网站如何做排名
  • 哪里可以免费建网站wordpress博客软件
  • 网站开发成本如何入账树状结构的网站
  • 收到网站打入0.1元怎么做分录长春企业网站设计
  • 圣辉友联做网站公司陕西省建设网官网陕西省建筑市场监督与诚信信息一体化平台
  • 邯郸网站建设taigew单页网站制作需要多少钱
  • 云邦北京网站建设建设银行纪检监察网站
  • 女装网站欣赏无锡百度关键词优化
  • 有哪些可以做头像的网站大型门户网站程序
  • 外贸资讯网站网站建设中的多语言翻译如何实现
  • 塘沽网站建设济源专业网站建设(制作网站)
  • 网站索引量是什么个人备案 做网站
  • 雄县阿里巴巴网站建设做外贸有哪些网站比较好
  • 宁波seo网络推广渠道介绍seo网络推广企业
  • 好的摄影作品网站建设网站要什么手续
  • 成都企业网站建设费用石家庄企业做网站
  • 大连投诉网站基金网站建设需求书
  • 望牛墩网站仿做如何利用视频网站做推广
  • 与网站建设有关的课程和知识点dedecms 食品网站模板