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

网站快速排名优化哪家好网上销售

网站快速排名优化哪家好,网上销售,公司网络组建,阴阳师网站怎么做通俗易懂点的话,就叫“双向冒泡排序”。 冒泡是一个单向的从小到大或者从大到小的交换排序,而鸡尾酒排序是双向的,从一端进行从小到大排序,从另一端进行从大到小排序。 从图中可以看到,第一次正向比较,我们…

通俗易懂点的话,就叫“双向冒泡排序”。
冒泡是一个单向的从小到大或者从大到小的交换排序,而鸡尾酒排序是双向的,从一端进行从小到大排序,从另一端进行从大到小排序。
image.png
从图中可以看到,第一次正向比较,我们找到了最大值 9.
第一次反向比较,我们找到了最小值1.
第二次正向比较,我们找到了次大值8.
第二次反向比较,我们找到了次小值2
……
最后就大功告成了。
下面我们看看代码:

 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml.Xsl;namespace ConsoleApplication1{class Program{static void Main(string[] args){List<int> list = new List<int>() { 8, 1, 4, 2, 9, 5, 3 };Console.WriteLine("\n排序前 => {0}\n", string.Join(",", list));list = CockTailSort(list);Console.WriteLine("\n排序后 => {0}\n", string.Join(",", list));Console.Read();}/// <summary>/// 鸡尾酒排序/// </summary>/// <param name="list"></param>/// <returns></returns>static List<int> CockTailSort(List<int> list){//因为是双向比较,所以比较次数为原来数组的1/2次即可。for (int i = 1; i <= list.Count / 2; i++){//从前到后的排序 (升序)for (int m = i - 1; m <= list.Count - i; m++){//如果前面大于后面,则进行交换if (m + 1 < list.Count && list[m] > list[m + 1]){var temp = list[m];list[m] = list[m + 1];list[m + 1] = temp;}}Console.WriteLine("正向排序 => {0}", string.Join(",", list));//从后到前的排序(降序)for (int n = list.Count - i - 1; n >= i; n--){//如果前面大于后面,则进行交换if (n > 0 && list[n - 1] > list[n]){var temp = list[n];list[n] = list[n - 1];list[n - 1] = temp;}}Console.WriteLine("反向排序 => {0}", string.Join(",", list));}return list;}}}

image.png
从结果上面看,我们会发现,当数组有序的时候,我们还会继续往下排,知道完成 length/2 次,这个就跟没优化之前的冒泡排序一样,此时我们可以加上一个标志位 IsSorted 来判断是否已经没有交换了,如果没有,提前退出循环。

 /// <summary>/// 鸡尾酒排序/// </summary>/// <param name="list"></param>/// <returns></returns>static List<int> CockTailSort(List<int> list){//判断是否已经排序了var isSorted = false;//因为是双向比较,所以比较次数为原来数组的1/2次即可。for (int i = 1; i <= list.Count / 2; i++){//从前到后的排序 (升序)for (int m = i - 1; m <= list.Count - i; m++){//如果前面大于后面,则进行交换if (m + 1 < list.Count && list[m] > list[m + 1]){var temp = list[m];list[m] = list[m + 1];list[m + 1] = temp;isSorted = true;}}Console.WriteLine("正向排序 => {0}", string.Join(",", list));//从后到前的排序(降序)for (int n = list.Count - i - 1; n >= i; n--){//如果前面大于后面,则进行交换if (n > 0 && list[n - 1] > list[n]){var temp = list[n];list[n] = list[n - 1];list[n - 1] = temp;isSorted = true;}}//当不再有排序,提前退出if (!isSorted)break;Console.WriteLine("反向排序 => {0}", string.Join(",", list));}return list;}
http://www.mmbaike.com/news/63841.html

相关文章:

  • 一家专门做特卖的网站手机版外贸网站建设优化推广
  • 十堰做网站网络营销师资格证
  • 网站建设合同范本下载北京做网页的公司
  • 站长之家素材网站广州网站排名专业乐云seo
  • 广州做网站平台来客seo
  • 广州企业建站找哪家磁力天堂
  • 深圳哪里有做网站的公司网络推广和竞价怎么做
  • 自己做网站 搜索功能开发如何做网络推广运营
  • 贵阳网站公司专业网站制作
  • wix做的网站国内最开放的浏览器
  • 把自己的网站卖给别人后对方做违法吗北京网站优化企业
  • 广州天河网站制作seo排名优化方式方法
  • 东铁匠营网站建设公司武汉软件测试培训机构排名
  • 抖音广告推广优化优化
  • 合肥做网站需要多少钱seo怎么优化网站排名
  • 哪个网站可以接任务做兼职18款禁用看奶app入口
  • 网游网站开发上海网络推广团队
  • html教程pdf钦州seo
  • 简单的网页seo关键字怎么优化
  • 程序员做博彩类的网站犯法吗软文范例100字
  • 搭建网站 软件torrent种子猫
  • 网站营销培训重庆高端seo
  • 海南网络广播电视台直播海南鸡西seo
  • 网站建设作业一键建站
  • 怎么创网站赚钱吗种子搜索引擎torrentkitty
  • wordpress免费虚拟主机白云百度seo公司
  • 做消费信贷网站搜索引擎营销的概念
  • mylife wordpress深圳纯手工seo
  • 东莞 网站制作中国企业100强
  • 山东网站定制策划百度舆情