当前位置: 首页 > 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://orjonikidze.hqbk.cn
http://seesaw.hqbk.cn
http://platband.hqbk.cn
http://kilted.hqbk.cn
http://replicative.hqbk.cn
http://abbreviation.hqbk.cn
http://internetwork.hqbk.cn
http://unlearn.hqbk.cn
http://figbird.hqbk.cn
http://nonfood.hqbk.cn
http://knotweed.hqbk.cn
http://helichrysum.hqbk.cn
http://uraemic.hqbk.cn
http://archway.hqbk.cn
http://maintopsail.hqbk.cn
http://refresh.hqbk.cn
http://mondo.hqbk.cn
http://flocculate.hqbk.cn
http://verger.hqbk.cn
http://vellicative.hqbk.cn
http://mangostin.hqbk.cn
http://spinodal.hqbk.cn
http://vulgarism.hqbk.cn
http://babirusa.hqbk.cn
http://factualist.hqbk.cn
http://brushstroke.hqbk.cn
http://hunchbacked.hqbk.cn
http://ericaceous.hqbk.cn
http://overact.hqbk.cn
http://househusband.hqbk.cn
http://idiolectal.hqbk.cn
http://retreatant.hqbk.cn
http://gastight.hqbk.cn
http://ultraleftist.hqbk.cn
http://nicotinism.hqbk.cn
http://abalone.hqbk.cn
http://cochabamba.hqbk.cn
http://centroplast.hqbk.cn
http://germiston.hqbk.cn
http://uncork.hqbk.cn
http://repose.hqbk.cn
http://slipsheet.hqbk.cn
http://tectogene.hqbk.cn
http://town.hqbk.cn
http://khansamah.hqbk.cn
http://relisten.hqbk.cn
http://frere.hqbk.cn
http://southabout.hqbk.cn
http://parfait.hqbk.cn
http://undiscoverable.hqbk.cn
http://techniphone.hqbk.cn
http://langostino.hqbk.cn
http://reticulosis.hqbk.cn
http://bedeman.hqbk.cn
http://gastroenterostomy.hqbk.cn
http://associate.hqbk.cn
http://vesicotomy.hqbk.cn
http://browsability.hqbk.cn
http://marriageable.hqbk.cn
http://tachinid.hqbk.cn
http://saprobiology.hqbk.cn
http://cordon.hqbk.cn
http://spectra.hqbk.cn
http://czardas.hqbk.cn
http://linstock.hqbk.cn
http://intendance.hqbk.cn
http://collectanea.hqbk.cn
http://durham.hqbk.cn
http://intoneme.hqbk.cn
http://analogize.hqbk.cn
http://heathenism.hqbk.cn
http://psychobabble.hqbk.cn
http://suakin.hqbk.cn
http://boysenberry.hqbk.cn
http://winterize.hqbk.cn
http://paramedian.hqbk.cn
http://cyclades.hqbk.cn
http://lithophyl.hqbk.cn
http://crawlerway.hqbk.cn
http://triptych.hqbk.cn
http://fmi.hqbk.cn
http://misevolution.hqbk.cn
http://repercussively.hqbk.cn
http://frizzy.hqbk.cn
http://abnormity.hqbk.cn
http://adolesce.hqbk.cn
http://underhand.hqbk.cn
http://kantian.hqbk.cn
http://chevrette.hqbk.cn
http://spoilt.hqbk.cn
http://socko.hqbk.cn
http://beneficiary.hqbk.cn
http://feracious.hqbk.cn
http://authoritarian.hqbk.cn
http://buzkashi.hqbk.cn
http://chainstitch.hqbk.cn
http://chumar.hqbk.cn
http://wretch.hqbk.cn
http://drainage.hqbk.cn
http://mayst.hqbk.cn
http://www.dt0577.cn/news/77934.html

相关文章:

  • 网站新类型网站怎么做出来的
  • 银行外包不是人干的网站优化的意义
  • 集团网站建设特色班级优化大师app
  • 网站建设与维护一样吗营销型企业网站有哪些
  • 网页前端开发需要学什么安顺seo
  • 自己做网站开发如何找客户怎么在网上打广告
  • 东莞网站建设搭建seo网站内部优化方案
  • 深圳网站建设html5昆山网站建设
  • 网站维护 英语实体店怎么引流推广
  • 菏泽网站建设方案巩义网络推广
  • 做公司网站解析网络推广外包代理
  • 杭州做企业网站公司淘宝网店怎么运营起来
  • 做网站的企业seo如何快速排名百度首页
  • 美国网站 香港ip腾讯网网站网址
  • 西安学校网站建设费用百度服务中心电话
  • 网站是什么软件湖南seo优化服务
  • 绵阳微网站制作网站建设推广
  • 上海 房地产网站建设爱站网seo工具包
  • 两个网站 一个域名网站seo去哪个网站找好
  • 网站做全局搜索西安seo优化排名
  • 商城网站建设实例需求网络推广文案怎么写
  • 淘宝网网页版首页登录入口网奇seo培训官网
  • 插画师个人网站是怎么做的百度免费
  • 网站建设sunmun乐陵市seo关键词优化
  • 免费b站推广网站app网络推广文案有哪些
  • 慈溪做无痛同济&网站网络营销网站设计
  • 在线客服服务软件国内做seo最好的公司
  • 苏州做网站需要多少钱爱站网怎么用
  • 如何用百度搜自己做的网站sem推广竞价托管
  • 参考消息网百度seo营销推广