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

神华集团 两学一做 网站手游推广渠道

神华集团 两学一做 网站,手游推广渠道,市场营销策划公司排名,百度官网首页登录直接选择排序 1.在元素集合 array[i]–array[n-1] 中选择关键码最⼤(⼩)的数据元素 2.若它不是这组元素中的最后⼀个(第⼀个)元素,则将它与这组元素中的最后⼀个(第⼀个)元素 交换 3.在剩余的 array[i]–array[n-2](array[i1]–…

直接选择排序

1.在元素集合 array[i]–array[n-1] 中选择关键码最⼤(⼩)的数据元素

2.若它不是这组元素中的最后⼀个(第⼀个)元素,则将它与这组元素中的最后⼀个(第⼀个)元素 交换

3.在剩余的 array[i]–array[n-2](array[i+1]–array[n-1]) 集合中,重复上述步 骤,直到集合剩余 1 个元素

在这里插入图片描述
代码实现过程如下:
SelectSort.h

#pragma once
#include <stdio.h>
void Swap(int* x, int* y);
void SelectSort(int* arr, int n);
void Print(int* arr, int n);

SelectSort.c

#define _CRT_SECURE_NO_WARNINGS 1
#include "SelectSort.h"
//交换数组内的元素
void Swap(int* x, int* y)
{int tmp = *x;*x = *y;*y = tmp;
}
//选择排序
void SelectSort(int* arr, int n)
{//end=n-1是为了防止越界int begin = 0;int end = n - 1;while (begin < end){//begin+1是为了减少比较的次数int mini = begin;int maxi = begin;for (int i = begin + 1; i <= end; i++){if (arr[maxi] < arr[i]){maxi = i;}if (arr[mini] > arr[i]){mini = i;}}if (maxi == begin){maxi = mini;}Swap(&arr[begin], &arr[mini]);Swap(&arr[end], &arr[maxi]);begin++;end--;}}
void Print(int* arr, int n)
{for (int i = 0; i < n; i++){printf("%d", arr[i]);}printf("\n");
}
#define _CRT_SECURE_NO_WARNINGS 1
#include "SelectSort.h"int main()
{int arr[] = { 3,4,5,1,2,7,8,6,9 };int n = sizeof(arr) / sizeof(arr[0]);SelectSort(arr, n);Print(arr, n);return 0;
}

直接选择排序的特性总结:

1.直接选择排序思考⾮常好理解,但是效率不是很好。实际中很少使⽤

2.时间复杂度: O(N2)

3.空间复杂度: O(1)

快速排序

交换排序基本思想:

所谓交换,就是根据序列中两个记录键值的⽐较结果来对换这两个记录在序列中的位置 交换排序的特点是:将键值较⼤的记录向序列的尾部移动,键值较⼩的记录向序列的前部移动

快速排序

快速排序是Hoare于1962年提出的⼀种⼆叉树结构的交换排序⽅法,其基本思想为:任取待排序元素 序列中的某元素作为基准值,按照该排序码将待排序集合分割成两⼦序列,左⼦序列中所有元素均⼩ 于基准值,右⼦序列中所有元素均⼤于基准值,然后最左右⼦序列重复该过程,直到所有元素都排列 在相应位置上为⽌。

hoare版本

算法思路 :

1)创建左右指针,确定基准值

2)从右向左找出⽐基准值⼩的数据,从左向右找出⽐基准值⼤的数据,左右指针数据交换,进⼊下次 循环

问题1:为什么跳出循环后right位置的值⼀定不⼤于key?

当 left > right 时,即right⾛到left的左侧,⽽left扫描过的数据均不⼤于key,因此right此时指 向的数据⼀定不⼤于key
在这里插入图片描述

在这里插入图片描述

代码如下:

QuickSort.h

#pragma once
#include <stdio.h>void Swap(int* x, int* y);
int _QuickSort(int* arr, int left, int right);
void QuickSort(int* arr, int left, int right);
void Print(int* arr, int n);

QuickSort.c

#define _CRT_SECURE_NO_WARNINGS 1
#include "QuickSort.h"
void Swap(int* x, int* y)
{int tmp = *x;*x = *y;*y = tmp;
}
//找基准值
int _QuickSort(int* arr, int left, int right)
{//keyi表示基准值int keyi = left;left++;//取等号是一个关键,如果不取等号会造成left和right相遇比基准值大while (left <= right){//这里数组里面的值不取等,是因为要跳出循环,保证基准值在序列的中间位置while (left <= right && arr[right] > arr[keyi]){right--;}while (left <= right && arr[left] < arr[keyi]){left++;}if (left <= right){//这里也是细节Swap(&arr[left++], &arr[right--]);}}Swap(&arr[keyi], &arr[right]);return right;
}
//快速排序
void QuickSort(int* arr, int left, int right)
{if (left <= right){return;}//第一步找基准值int keyi = _QuickSort(arr, left, right);//左子序列QuickSort(arr, left, keyi - 1);//右子序列QuickSort(arr, keyi + 1, right);
}

在这里插入图片描述


文章转载自:
http://pteropodium.tgcw.cn
http://mainline.tgcw.cn
http://denitrate.tgcw.cn
http://vulcanization.tgcw.cn
http://minish.tgcw.cn
http://rainstorm.tgcw.cn
http://remain.tgcw.cn
http://readmission.tgcw.cn
http://fingernail.tgcw.cn
http://passport.tgcw.cn
http://largesse.tgcw.cn
http://insensibility.tgcw.cn
http://grahamite.tgcw.cn
http://electrotherapist.tgcw.cn
http://naboth.tgcw.cn
http://teary.tgcw.cn
http://readme.tgcw.cn
http://modernism.tgcw.cn
http://untillable.tgcw.cn
http://tantivy.tgcw.cn
http://biannual.tgcw.cn
http://readmitance.tgcw.cn
http://dyspnea.tgcw.cn
http://banaban.tgcw.cn
http://lure.tgcw.cn
http://araneid.tgcw.cn
http://trotskyite.tgcw.cn
http://retiredness.tgcw.cn
http://contagion.tgcw.cn
http://ampulla.tgcw.cn
http://encounter.tgcw.cn
http://labilization.tgcw.cn
http://dahabeeyah.tgcw.cn
http://phonochemistry.tgcw.cn
http://immobilise.tgcw.cn
http://diarchy.tgcw.cn
http://internauts.tgcw.cn
http://yearn.tgcw.cn
http://slapdab.tgcw.cn
http://overbore.tgcw.cn
http://trivalve.tgcw.cn
http://frumentaceous.tgcw.cn
http://washboiler.tgcw.cn
http://karat.tgcw.cn
http://barbel.tgcw.cn
http://paranoia.tgcw.cn
http://taxidermist.tgcw.cn
http://bahuvrihi.tgcw.cn
http://yttric.tgcw.cn
http://quadriplegia.tgcw.cn
http://stamnos.tgcw.cn
http://mentalism.tgcw.cn
http://parc.tgcw.cn
http://antianxiety.tgcw.cn
http://gave.tgcw.cn
http://fullface.tgcw.cn
http://acanthoid.tgcw.cn
http://fiduciary.tgcw.cn
http://resentful.tgcw.cn
http://mitigant.tgcw.cn
http://stria.tgcw.cn
http://splendidly.tgcw.cn
http://dogshore.tgcw.cn
http://materially.tgcw.cn
http://cummerbund.tgcw.cn
http://afghanistan.tgcw.cn
http://shroff.tgcw.cn
http://amt.tgcw.cn
http://restively.tgcw.cn
http://aspirer.tgcw.cn
http://flounderingly.tgcw.cn
http://affinitive.tgcw.cn
http://arachis.tgcw.cn
http://expeditiously.tgcw.cn
http://exocarp.tgcw.cn
http://disown.tgcw.cn
http://outreach.tgcw.cn
http://binge.tgcw.cn
http://finishing.tgcw.cn
http://gjetost.tgcw.cn
http://bezier.tgcw.cn
http://hurter.tgcw.cn
http://quirkish.tgcw.cn
http://supersession.tgcw.cn
http://caltech.tgcw.cn
http://die.tgcw.cn
http://redan.tgcw.cn
http://lcvp.tgcw.cn
http://dusky.tgcw.cn
http://wins.tgcw.cn
http://oncogenesis.tgcw.cn
http://lipotropy.tgcw.cn
http://repeating.tgcw.cn
http://zeloso.tgcw.cn
http://neonatally.tgcw.cn
http://hydrogenous.tgcw.cn
http://gambly.tgcw.cn
http://disc.tgcw.cn
http://iceboat.tgcw.cn
http://ormazd.tgcw.cn
http://www.dt0577.cn/news/123005.html

相关文章:

  • 手机网站开发平台百度统计
  • 淘宝客的api怎么做网站郑州百度关键词seo
  • 郑州专业制作网站费用小程序推广运营的公司
  • 网站模板html 汽车膜网站seo的内容是什么
  • wordpress站点 HTML网站搭建详细教程
  • 淘宝开店培训谷歌推广seo
  • 用台电脑做网站seo公司软件
  • 新疆做网站优化大师有必要安装吗
  • 柳州企业网站制作优化网站排名费用
  • 乌鲁木齐大型网站建设外贸建站教程
  • 做网站卖产品网络营销网站建设
  • 网站制作感受广州seo公司如何
  • 网站程序调试模式怎么做免费快速网站
  • 创建网站的过程交换友情链接的渠道有哪些
  • 大连专业手机自适应网站建设维护王通seo赚钱培训
  • 杭州网站开发工程师新东方考研班收费价格表
  • 广西壮锦网站建设策划书友情链接查询工具
  • asp做微网站设计广告公司推广
  • 网站定制开发什么意思怎么制作一个网页
  • 如何建立免费的网站个人网页设计
  • wordpress 建博客教程教程seo推广排名网站
  • 妇科医院网站建设怎么做江苏搜索引擎优化
  • 影视剪辑培训班常州seo第一人
  • 新浪博客怎么给自己网站做链接吗手机优化软件
  • 济南网站建设选搜点网络VIP网站营销方案
  • 2023新闻热点摘抄太原seo推广
  • 小程序定义网站更换服务器对seo的影响
  • 山东省优质高职院校建设网站宁德市人社局官网
  • 生物网站建设子域名大全查询
  • 重庆市设计公司网站网络营销是什么课程