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

做西餐网站腾讯企点官网下载

做西餐网站,腾讯企点官网下载,专业电容层析成像代做网站,如何制作公司免费网站前言 hello,我是Maybe。昨天和今天花了两天左右的时间。把常见的排序算法都学完了,自己也实现了一遍。感觉收获满满,但是过程是艰辛的。下面我将分享代码和思维导图,希望可以帮助到大家。 思维导图(含注意事项,实现思…

前言

hello,我是Maybe。昨天和今天花了两天左右的时间。把常见的排序算法都学完了,自己也实现了一遍。感觉收获满满,但是过程是艰辛的。下面我将分享代码和思维导图,希望可以帮助到大家。

思维导图(含注意事项,实现思路,含算法的总结(如时间复杂度,稳定性))

代码如下(按思维导图的顺序)

public class Sort {public void zhijiecharu(int[] arr){for(int i=1;i<arr.length;i++){int tmp=arr[i];int j=i-1;for(;j>=0;j--){if(arr[j]>tmp){arr[j+1]=arr[j];}else{arr[j+1]=tmp;break;}}arr[j+1]=tmp;}}public void xierpaixu(int [] arr){int gap=arr.length;while(gap>1){//gap的最后取值一定要是0gap=gap/2;xierpaixu1(arr,gap);}}public void xierpaixu1(int[] arr,int gap){for(int i=gap;i<arr.length;i=i+gap){int tmp=arr[i];int j=i-gap;for(;j>=0;j=j-gap){if(arr[j]>tmp){arr[j+gap]=arr[j];}else{arr[j+gap]=tmp;break;}}arr[j+gap]=tmp;}}public void swap(int[] array,int i,int j){int tmp=array[i];array[i]=array[j];array[j]=tmp;}public void xuanzepaixu(int[] array){for(int i=0;i<array.length;i++){int minIndex=i;for(int j=i+1;j<array.length;j++){if(array[j]<array[minIndex]){minIndex=j;}}swap(array,i,minIndex);}}public void xuanzepaixu1(int[] array){int left=0;int right=array.length-1;while(left<right){int minIndex=left;int maxIndex=left;for(int i=left+1;i<array.length;i++){if(array[i]<array[minIndex]){minIndex=i;}if(array[i]>array[maxIndex]){maxIndex=i;}}swap(array,left,minIndex);//注意当left=maxIndex时if(left==maxIndex){maxIndex=minIndex;}swap(array,maxIndex,right);left++;right--;}}public void createHeap(int[] array){//创建堆for(int parent=(array.length-1-1)/2;parent>=0;parent--){siftDown(array,parent,array.length);}}private void siftDown(int[] array, int parent, int length) {//创建大根堆int child=2*parent+1;while(child<length-1){//找左右子树最大值if(child+1<length-1&&array[child]<array[child+1]){child++;}if(array[parent]<array[child]){swap(array,parent,child);child=parent;child=2*child+1;}else{break;}}}public void Heapsort(int[] array){//从小到大排,必须要是大根堆createHeap(array);int end=array.length-1;while(end>0){swap(array,0,end);//则最后一个元素一定是最大的siftDown(array,0,end);end--;}}public void bubble_sort(int[] array){for(int i=0;i<array.length-1;i++){boolean flg=false;for(int j=0;j<array.length-1-i;j++){if(array[j]>array[j+1]){swap(array,j,j+1);flg=true;}}if(!flg){break;}}}public void quicksort(int[] array){quick(array,0,array.length-1);}private void quick(int[] array, int start, int end) {//1.递归终止条件if(start>=end){return;}if(end-start+1<=3){//这里直接使用快直接插入处理了zhijiecharuRange(array,start,end);return;}//使用三数取中法优化int minIndex=getMid(array,start,end);swap(array,start,minIndex);int pivot=wakong(array,start,end);
//        int pivot=hoare(array,start,end);quick(array,start,pivot-1);quick(array,pivot+1,end);}private int getMid(int[] array, int left, int right) {int minindex=(left+right)/2;if(array[left]<array[right]){if(array[minindex]<array[left]){return left;}else if(array[minindex]>array[right]){return right;}else{return minindex;}}else{if(array[minindex]>array[left]){return left;}else if(array[minindex]<array[right]){return right;}else{return minindex;}}}private void zhijiecharuRange(int[] array, int start, int end) {for(int i=start+1;i<=end;i++){int tmp=array[i];int j=i-1;for(;j>=start;j--){if(array[j]>array[i]){array[i]=array[j];}else{array[i]=tmp;break;}}array[j+1]=tmp;}}private int wakong(int[] array, int left, int right) {int tmp=array[left];while(left<right){while(left<right&&array[right]>=tmp){//注意 这里面也要写left<right,防止越界right--;}array[left]=array[right];while(left<right&&array[left]<=tmp){left++;}array[right]=array[left];}array[left]=tmp;return left;}private int hoare(int[] array,int left,int right){int tmp=array[left];int tmpLeft=left;while(left<right){while(left<right&&array[right]>=tmp){right--;}while(left<right&&array[left]<=tmp){left++;}//等两个找到才换,与挖空法注意区分swap(array,left,right);}swap(array,tmpLeft,left);return left;}public static void mergeSort(int[] array) {mergeSortTmp(array,0,array.length-1);}private static void mergeSortTmp(int[] array,int left,int right) {//先分解,再合并while(left>=right){return;}int mid=(left+right)/2;mergeSortTmp(array,left,mid);mergeSortTmp(array,mid+1,right);//合并数组merge(array,left,mid,right);}private static void merge(int[] array, int left, int mid, int right) {int[] tmp=new int[right-left+1];int k=0;int s1=left;int e1=mid;int s2=mid+1;int e2=right;//确保两个数组都有元素和防止越界while(s1<=e1&&s2<=e2){if(array[s1]>array[s2]){tmp[k++]=array[s2++];}else{tmp[k++]=array[s1++];}}//因为可能有多个元素//则s2的元素全都放置到了tmp数组里面while(s1<=e1){tmp[k++]=array[s1++];}while(s2<=e2){tmp[k++]=array[s2++];}//讲tmp数组写到array里面for(int i=0;i<k;i++){array[i+left]=tmp[i];}}public void jishupaixu(int[] array){//1.在待排序的元素中找出数组的最大值和最小值int max=array[0];int min=array[0];for(int i=1;i<array.length;i++){if(array[i]>max){max=array[i];}if(array[i]<min){min=array[i];}}//创建count数组去计数//遍历待排序的数组,计数放入count中int len=max-min+1;int[] count=new int[len];for(int i=0;i<array.length;i++){int index=array[i]-min;count[index]++;}//依次遍历计数数组int index=0;for(int i=0;i<len;i++){while(count[i]!=0){array[index]=i+min;index++;count[i]--;}}}}
import java.util.Arrays;public class Test {public static void main(String[] args) {int[] array={99,93,92,97,98,99,96,95};Sort sort=new Sort();
//        sort.zhijiecharu(array);System.out.println(Arrays.toString(array));sort.jishupaixu(array);System.out.println(Arrays.toString(array));}
}

结语 

希望可以帮助到大家。see U~~

 

 

 

http://www.dtcms.com/wzjs/80971.html

相关文章:

  • 徐州专业做网站搭建自己的网站
  • 网站建设网页设计毕业论文常州网站关键词推广
  • 网站建设纳入本单位日常性工作青岛网络优化厂家
  • wordpress个人博客模版成都网站优化及推广
  • 企业网络营销顾问站群seo
  • 扫黄打非网站建设百度seo教程
  • 怎么免费建设网站青岛运营网络推广业务
  • 批量做网站完整的社群营销方案
  • 厦门一个平台做网站啥的防控措施持续优化
  • 怎么做电子商务的网站沈阳百度seo关键词优化排名
  • 网站单页面策划手机端关键词排名优化
  • 申请付费网站全国最好网络优化公司
  • 网站建设完成后怎么上传服务器百度开放平台
  • 中华室内设计网公众号下载王通seo教程
  • 周村网站制作哪家好百度seo最新算法
  • 做新闻类网站需要什么资质八八网
  • dede网站url采集app拉新推广一手接单平台
  • 做安卓icon图标包下载网站危机公关处理方案
  • addthis wordpressseo关键词排名在线查询
  • 合肥专业建站宁夏百度推广代理商
  • 怎么提升网站的流量互联网十大企业
  • 合肥网络运营公司哪家好seo流量工具
  • 甘肃手机版建站系统哪个好加速游戏流畅的软件
  • 上海ktv目前营业情况优化大师会员兑换码
  • 做原型的网站网络营销的主要方式和技巧
  • WordPress自动文章摘要合肥百度推广优化排名
  • 石家庄网站制作哪家好百度榜
  • 电子政务和网站建设工作的总结seo综合查询爱站
  • 电脑做网站服务器视频教程营销模式和营销策略
  • web用框架做网站上海搜索推广