范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

排序算法合集

  由于时间原因,我在复习的时候只写了核心部分.大家有需要可以自己补充完整调试.
  public class SelectSort //选择排序 { 	     public static int[] selectSort(int[] a)  		 { 		         int n = a.length; 		      for (int i = 0; i < n - 1; i++)  			  { 			             int min = i; 			            for (int j = i + 1; j < n; j++)  						{ 				              if (a[min] > a[j]) min = j; 			 			    } 		           //交换 				        int temp = a[i]; 			            a[i] = a[min]; 			            a[min] = temp; 			 		   } 		       return a; 	 	     }  }//插入排序   public class InsertSort {      public static int[] insertSort(int[] arr) {           if(arr == null || arr.length < 2)          return arr;            int n = arr.length;        for (int i = 1; i < n; i++) {             int temp = arr[i];              int k = i - 1;             while(k >= 0 && arr[k] > temp)                 k--;             //腾出位置插进去,要插的位置是 k + 1;            for(int j = i ; j > k + 1; j--)                arr[j] = arr[j-1];             //插进去             arr[k+1] = temp;          }          return arr;      } }//冒泡排序法 public class BubbleSort  {       public static int[] bubbleSort(int[] arr)        {           if (arr == null || arr.length < 2)           {              return arr;           }           int n = arr.length;           for (int i = 0; i < n; i++)           {               boolean flag = true;            for (int j = 0; j < n -i - 1; j++)            {                 if (arr[j + 1] < arr[j])                 {                    flag = false;                    int t = arr[j];                     arr[j] = arr[j+1];                     arr[j+1] = t;                             }             }             //一趟下来是否发生位置交换              if(flag)                 break;         }          return arr;     } }void BubbleSort(int array[], int len)//冒泡的其他实现方法 { 	int i = 0; 	int j = 0; 	int exchange = 1; 	for (i = 0; (i < len) && exchange; i++) 	{ 		exchange = 0; 		for (j = len; j > 1; j--) 		{ 			if (array[j] < array[j - 1]) 			{ 				swap(array, j, j - 1); 					exchange = 1; 			} 		} 	} }//希尔排序 public class ShellSort {     public static int[] shellSort(int arr[]) {         if (arr == null || arr.length < 2) return arr;         int n = arr.length;         // 对每组间隔为 h的分组进行排序,刚开始 h = n / 2;         for (int h = n / 2; h > 0; h /= 2) {              //对各个局部分组进行插入排序               for (int i = h; i < n; i++) {                  // 将arr[i] 插入到所在分组的正确位置上                insertI(arr, h, i);               }      }       return arr;    }      /**       * 将arr[i]插入到所在分组的正确位置上       * arr[i]] 所在的分组为 ... arr[i-2*h],arr[i-h], arr[i+h] ...      */     private static void insertI(int[] arr, int h, int i) {         int temp = arr[i];       int k;         for (k = i - h; k > 0 && temp < arr[k]; k -= h) {            arr[k + h] = arr[k];         }          arr[k + h] = temp;     }  }//归并排序 //A数组和B数组归并为C数组 void Merge(int src[], int des[], int low, int mid, int high)//src[]数组首地址,des[]拷贝目的地,A数组的前面,中间, {//B数组的前面  high后面 	int i = low; 	int j = mid + 1;//赋值过程,就是相当于让前面的去操作了 	int k = low; 	while ((i < mid) && (j <= high)//把小的放在目的地中 	{ 		if (src[i] < src[j]) 		{ 			des[k++] = src[i++];  		} 		else 		{ 			des[k++] = src[j++]; 		} 	} 	while (i <= mid)//如果A还剩下几个尾部元素 	{ 		des[k++] = src[i++]; 	} 	while (j <= mid)//如果B还剩下几个尾部元素 	{ 		des[k++] = src[j++]; 	}  } //调用子序列 //每次分为2路,当只剩下一个元素时,就不需要在划分, void MSort(int src[], int des[], int low, int max, int high) { 	if (low == high)//只有一个元素,不需要归并 	{ 		des[low] = src[low];  	} 	else//多个元素开始进行划分 	{ 		int mid = (low + high) / 2; 		int*space = (int*)malloc(sizeof(int)*max); 		//递归进行2路划分,递归划分结束,开始归并操作 		if (space != NULL) 		{ 			Msort(src, space, low, mid, max); 			Msort(src, space,  mid+1,high, max); 			Merge(src, space, low, mid, high);//调用归并函数进行归并  		} 		free(space); 	} } void MergeSort(int array[], int len) { 	Msort(array, array, 0, len - 1, len); }//堆排序 //是树形选择排序方法,类似于完全二叉树的顺序存储结构,利用孩子节点和双亲节点的关系索引 var len;    // 因为声明的多个函数都需要数据长度,所以把len设置成为全局变量 function buildMaxHeap(arr) {   // 建立大顶堆     len = arr.length;     for (var i = Math.floor(len/2); i >= 0; i--) {         heapify(arr, i);     } }   function heapify(arr, i) {     // 堆调整     var left = 2 * i + 1,         right = 2 * i + 2,         largest = i;       if (left < len && arr[left] > arr[largest]) {         largest = left;     }       if (right < len && arr[right] > arr[largest]) {         largest = right;     }       if (largest != i) {         swap(arr, i, largest);         heapify(arr, largest);     } }   function swap(arr, i, j) {     var temp = arr[i];     arr[i] = arr[j];     arr[j] = temp; }   function heapSort(arr) {     buildMaxHeap(arr);       for (var i = arr.length - 1; i > 0; i--) {         swap(arr, 0, i);         len--;         heapify(arr, 0);     }     return arr; }//基数排序 var counter = []; function radixSort(arr, maxDigit) {     var mod = 10;     var dev = 1;     for (var i = 0; i < maxDigit; i++, dev *= 10, mod *= 10) {         for(var j = 0; j < arr.length; j++) {             var bucket = parseInt((arr[j] % mod) / dev);             if(counter[bucket]==null) {                 counter[bucket] = [];             }             counter[bucket].push(arr[j]);         }         var pos = 0;         for(var j = 0; j < counter.length; j++) {             var value = null;             if(counter[j]!=null) {                 while ((value = counter[j].shift()) != null) {                       arr[pos++] = value;                 }           }         }     }     return arr; }
  排序算法远远不止上面这些,目前我也用不到更复杂的算法,所以就没去研究.只过一下这些常规的算法

英特尔辩解说不是那个意思那是什么意思?英特尔的那封有关新疆的信,引起中国大陆媒体企业网民愤怒后,可能是感觉到事儿闹大了,立即作了回应。新闻启示录报道,12月23日,英特尔中国官方发文对该公司那封引起争议的信回应说,我们一个今年50岁的老大爷名叫支付宝,你知道吗?,快来看看吧我们可以使用支付宝软件进行购物消费投资转账等,这在一定程度上方便了我们的生活,但支付宝也因为它的名字造成了意外。有一个叫支付宝的大叔,直接把马云告上法庭,要阿里巴巴给他钱。这个大爷现在的三大运营商都这么黑心的吗?真的非常气愤啊,今天晚上吃了饭正在看电视,我丈母娘就给我打电话说被扣了30元话费,说到这可能有朋友已经知道什么套路了吧,我问过之后我才知道又是运营商在搞鬼。我到了丈母娘家,一看她短2021年大厂高管变动张一鸣宿华退居二线蒋凡扬帆出海2021年马上就要结束了,我一点也不怀念它。今年,互联网行业遭受了各种各样的打击和挑战。从今天开始,我将用大概35篇文章进行一个简单的盘点。今天是第一篇人物篇,主要是互联网大厂高管华为WATCHGT2手表推送11。0。14。90正式版固件更新IT之家12月23日消息,据网友反馈,华为WATCHGT2手表近期推送了11。0。14。90正式版重大固件更新,下载包大小为227MB。华为手表更新日志称,本次为大版本更新,软件更荣耀X10麒麟820鸿蒙OS,1199元还值得入手吗?荣耀手机自从成立以后发布了一些产品,但是本身的吸引力却没有之前那么强大,相信很多用户都认可这个观点。要知道,以前的荣耀属于华为旗下,在线上发展得很不错,而现在荣耀已经开始驻足线下市华为WATCHD发布创新加入微型气泵技术,支持血压测量与心电采集今天,华为正式发布腕部心电血压记录仪华为WATCHD,支持血压测量与心电采集,通过药监局二类医疗器械注册。华为WATCHD巧妙叠加微型气泵气囊等结构,将血压测量技术融入手表,创新的中金中低端手机很有可能出现长周期的通用型后置主摄中金公司最新研报认为,CIS(CMOSImageSensor)厂商最重要的三点竞争力是工艺能力规模优势全面的布局。中金认为虚拟IDMFabLite为CIS龙头未来发展的最佳模式,拥买手机千万别舍不得花钱,高端旗舰才好用,这三款三五年不卡顿现在的工作生活中,手机已经成为了我们必不可少的工具,但很多人买手机的时候还是扣扣嗖嗖,认为几百元上千元的手机已经很好了,再好的手机卖了就是交智商税,其实千元机和高端机之间的差距还是Bose音响怎么样?BOSE汽车厂商奥迪保时捷凯迪拉克英菲尼迪日产马自达二师兄点评BOSE以及上面的BWBO这三大音响制造商被誉为音响3B,可谓是音响领域界的奢侈品。在民用音响方面,三者几乎是不分高低爱优腾困于长视频撰文财经天下周刊作者何畅编辑董雨晴2016年,阿里启动双中心双总部战略。后来,阿里就将大文娱这块业务放在了距离杭州1200公里被称作阿里第二个大本营的北京总部,优酷的办公室就在这里
港珠澳大桥通车,交响曲梦桥唱片正式发行并上线网易云2018年10月24日,今天是跨世纪工程港珠澳大桥通车的重要时刻。举世瞩目的港珠澳大桥历时十三年的建设,长达55公里的跨海大桥,7公里的海底7公里海底隧道。同时也是著名作曲家方岽清FILECOIN上线一周年,全网存储已突破12EIB10月15日,是Filecoin上线一周年,也是Filecoin网络生态的第二次减产,当前全网存储容量已突破12EiB。FILECOIN上线一周年,全网存储已突破12EIB根据Fi比特大陆停止蚂蚁矿机向中国大陆的输入自中国针对加密货币交易和采矿业务的监管通知文件公布后,各大交易所矿池及矿商逐渐发布公告,退出中国市场的同时暂停向中国大陆用户提供加密货币行业相关业务和服务。比特大陆停止蚂蚁矿机向中DAC数模转换芯片介绍(AKM公司的解码芯片)数字模拟转换器(DAC)对数字音频源如各种CD机SACD机便携播放器和手机等是核心零件之一(虽然不一定贵)。DAC负责把解码好的数字音频流,转换为模拟音频信号。在这个处理过程中,芯音频DAC解码芯片浅谈(ESS公司解码芯片介绍)数字模拟转换器(DAC)对数字音频源如各种CD机SACD机便携播放器和手机等是核心零件之一(虽然不一定贵)。DAC负责把解码好的数字音频流,转换为模拟音频信号。在这个处理过程中,芯创业者,永远只做最重要的事情!最重要的事情是什么?创业者,永远只做最重要的事情,其他都交出去!那么,最重要的事情是什么?答案,可能与大多数人想的完全不一样!1做自己。a)创业者最重要的是做好自己。不忘初心,坚持初衷,相信自己!b)揭秘分析都知道微信占用大量空间,究竟是些什么东西呢?清理手机垃圾,在系统自带安全管家中清理后仍不尽兴,那就到app里面清理吧,比如微信。打开微信查看存储占用情况,好家伙!占用了12。73GB呢但是,从微信的文件夹属性中可以看到也就占尹全喜伊斐净宝之间的爱情故事对北京的印象一直还停留在2003年的初秋。那时天空湛蓝,高楼矗立在蓝天白云间。偶尔有风,柔和,没有沙尘。我怀着敬畏的心情穿过北京城,一路向北去哈尔滨寻找四年后的梦想和爱情。11年后淘宝上未授权店铺低价乱价怎么办?目前品牌面临棘手的问题可能就是低价乱价和假货侵权等问题。今天我们针对电商市场低价乱价的问题做相关的分析,从而找到针对性的措施解决办法,帮助品牌解决目前电商市场渠道混乱的困扰。一般品仿造乐高被罚9000万,法院严惩著作权犯罪PART。01仿冒乐高被起诉12月29日上午,涉案金额高达3。3亿元的乐拼仿冒乐高案,在上海市高级人民法院(以下简称上海高院)终审落槌,法院驳回李某等人的上诉,维持原判。李某以侵犯创品律师代理的一宗诉国家知识产权局行政诉讼获胜诉判决近日,创品律所胡群林律师及雷秋瑜律师受某客户委托代理的一宗诉国家知识产权局商标申请驳回复审行政纠纷案,北京知识产权法院已作出一审判决,判创品律师代理的原告胜诉。法院经审理,认为被告