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

网站建设标准流程及外包注意事项一个产品的营销方案

网站建设标准流程及外包注意事项,一个产品的营销方案,代码生成器软件,沈阳网站建设渠道原理: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。…

原理:
通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
思路:

  1. 每次都拿分割好的序列的首元素(末元素)作为中轴进行分割
  2. 第二次排序之后都在分割好的两部分中再次递归进行交换元素排序
  3. 排好的中轴元素就不带他玩了

举例说明:
排序数组int[] arr={3,5,8,1,2,9,4,7,6};


第一次循环,
以3为中轴,从右->左找到比3小的数2,放在3的位置,
然后从左->右找到比3大的数5,放在2的位置,
再从左->右找到比3小的数1,放在5的位置,
然后从左->右找到比3大的数8,放在1的位置,
两指针相遇时,将中轴3置于最后一次的数8的位置;
{2,1,3,8,5,9,4,7,6}
第二次循环,
{2,1}以2为中轴,从右->左找到比2小的数1,放在2的位置,
从左->右未找到比2大的数,将中轴2放在最后一次的数1的位置;
{1,2,3,8,5,9,4,7,6}
第三次循环,
{1}以1为中轴,不需要做替换
{1,2,3,8,5,9,4,7,6}
第四次循环,
{8,5,9,4,7,6}以8为中轴,从右->左找到比8小的数6,放在8的位置,
从左->右找到比8大的数9,放在6的位置,
从右->左找到比8小的数7,放在9的位置,
两指针相遇时,将中轴8置于最后一次的数7的位置;
{1,2,3,6,5,7,4,8,9}
第五次循环,
{6,5,7,4}以6为中轴,从右->左找到比6小的数4,放在6的位置,
从左->右找到比6大的数7,放在4的位置,
两指针相遇时,将中轴6置于最后一次的数5的位置;
{1,2,3,4,5,6,7,8,9}
第六次循环,
{4,5}以4为中轴,不需要做替换
{1,2,3,4,5,6,7,8,9}
第七次循环,
{5}以5为中轴,不需要做替换
{1,2,3,4,5,6,7,8,9}
第八次循环,
{7}以7为中轴,不需要做替换
{1,2,3,4,5,6,7,8,9}
第九次循环,
{9}以9为中轴,不需要做替换
{1,2,3,4,5,6,7,8,9}
最终排序结果:{1,2,3,4,5,6,7,8,9}

Java代码实现:

package com.learn.demo.sort;
/*** 快速排序*/
public class QuickSort1 {public static void main(String[] args) {int[] numbers = {3,5,8,1,2,9,4,7,6};System.out.print("排序前:");printArr(numbers);System.out.println();sort(numbers, 0, numbers.length-1);System.out.println();System.out.print("快速排序后:");printArr(numbers);}/*** @param arr 待排序数组* @param low 开始位置* @param high 结束位置*/public static void sort(int arr[],int low,int high) {int l=low;int h=high;int povit = arr[low];while(l<h) {//左侧指标小于右侧指标while(l<h && arr[h]>=povit)//从右侧找数据大于中轴的那个数的下标h--;if(l<h){int temp=arr[h];arr[h]=arr[l];arr[l]=temp;l++;}while(l<h && arr[l]<=povit)//从左侧找数据大于中轴的那个数的下标l++;if(l<h){int temp=arr[h];arr[h]=arr[l];arr[l]=temp;h--;}}System.out.println("中轴="+povit);printArr(arr);if(l>low)sort(arr,low,l-1);//递归调用sort函数if(h<high)sort(arr,l+1,high);}public static void printArr(int[] numbers) {for(int i = 0 ; i < numbers.length ; i ++ ) {System.out.print(numbers[i] + ",");}System.out.println("");}
}

demo运行后控制台的输出如下图:
在这里插入图片描述
若数组中出现一样的元素时
举例:int [] arr = {3,3,8,1,2,9,4,7,6}
在进行第一次循环时结果为{2,3,1,3,8,9,4,7,6},arr[1]不做变动,
而最后排序结果为{1,2,3,3,4,6,7,8,9},
整个排序过程中arr[0]的3与arr[1]的3交换了位置,
原序列中2个3的相对位置前后顺序就破坏了,
所以快速排序不稳定

http://www.wooajung.com/news/34649.html

相关文章:

  • 企业平台有哪些搜索引擎优化的基本原理
  • 阿里云服务器做网站多少钱正规网站优化推广
  • q a wordpress插件下载地址广州seo关键词优化是什么
  • 松原手机网站开发郑州专业seo哪家好
  • 深圳市网站开发公司今日新闻头条新闻最新
  • 深圳网站建设的服务怎么样搜索引擎营销的优缺点
  • 做网站是不是就能上传东西网站alexa排名
  • 转运网站建设百度关键词关键词大全
  • 网站建设收费价格北京seo网站设计
  • 哈尔滨seo推广汕头seo网络推广
  • 南昌定制网站公司大连企业网站建站模板
  • 网站开发 合同今日热点新闻素材
  • 网站源码出售制作网页的软件有哪些
  • c2c网站的特点怎么做营销推广方案
  • 展览展会网站建设北京seo做排名
  • 昆明网站开发价格查看网站流量的工具
  • 发布网站建设平面设计关键词搜索推广
  • 智慧团建网站密码自己如何做一个网站
  • 秦皇岛新闻最新消息上海谷歌优化
  • 宁远做网站msoer网络营销文案实例
  • 各类网站网站建设的目标是什么意思2345系统导航
  • wordpress移动版插件seo企业培训班
  • 怎么给客户推广自己的产品关键词排名的排名优化
  • 千万不要去做房地产销售seo外链发布软件
  • 淘特网官方网站下载域名注册新网
  • 高端产品网站比较好的搜索引擎
  • 有没有网站做字体变形品牌推广计划
  • 别人网站 自己的二级域名中国经济网人事
  • 新乡+网站建设百度自动点击器怎么用
  • 网站有几种深圳网页搜索排名提升