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

网站空间备案流程廊坊网站建设优化

网站空间备案流程,廊坊网站建设优化,哈尔滨旅游团购网站建设,自己的网站怎么做模板一、冒泡排序冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小…

一、冒泡排序

冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。(相邻对比交换位置)

这里依旧通过代码练习来实现:

package com.easy2;import java.util.Arrays;public class EasyF {public static void main(String[] args) {//排序//冒泡排序 快速排序 选择排序 插入排序//冒泡排序***********int[] arr={111,45,73,82,44};int temp;for(int j=0;j<arr.length-1;j++) {//确定了几个最大值for (int i = 0; i < arr.length -j-1; i++) {//元素下标//当前元素 arr[i]//下一个元素 arr[i+1]if (arr[i] > arr[i + 1]) {//交换位置 交换值temp = arr[i];arr[i] = arr[i + 1];arr[i + 1] = temp;}}}System.out.println(Arrays.toString(arr));}
}

二、快速排序

与冒泡排序有着紧密联系的就是快速排序

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

依旧见代码:

package com.easy2;
import java.util.Arrays;
public class EasyG {public static void main(String[] args) {//快速排序int[] arr={9,8,3,5,2};sort(arr,0,arr.length-1);System.out.println(Arrays.toString(arr));}public static void sort(int[] arr,int begin,int end){//如果区间不只一个数if(begin<end){int temp=arr[begin];//设置数组的开始元素为基准值int i=begin;//从左向右的左指针,指示当前左位置int j=end;//从右向左的右指针,指示当前右位置//不重复遍历while(i<j){//当右边的数大于基准数时,略过,继续查找while(i<j&&arr[j]>temp){j--;}//右边小于基准数的值填入左边arr[i]=arr[j];//当左边的数小于基准数时,略过,继续查找while(i<j&&arr[i]<temp){i++;}//左边大于基准数的值填入右边arr[j]=arr[i];}arr[i]=temp;//或者arr[j]也行,此时ij下标重合sort(arr,begin,i-1);//一个递归sort(arr,i+1,end);//两个递归}//如果区间只有一个数,返回elsereturn;}
}

三、选择排序

选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。(拿出最大或最小,然后在剩余中再拿最大或最小)

见代码:

package com.easy2;import java.util.Arrays;public class EasyH {public static void main(String[] args) {//选择排序//选择最大或最小,最菜的出来int[] arr={9,8,3,5,2};sort(arr);System.out.println(Arrays.toString(arr));}public static void sort(int[] array){//这里是找最小,并交换//每次都把最小的交换到前面,即可排好序int length = array.length;for(int i = 0; i < length; i++){int minIndex = i;for(int j = i + 1; j < length; j++){if(array[j] < array[minIndex]){minIndex = j;}}int temp = array[i];array[i] = array[minIndex];array[minIndex] = temp;}}
}

四、插入排序

插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。(将未排序的,在已排序中找到位置插进去)

package com.easy2;import java.util.Arrays;public class EasyI {//插入排序public static void main(String[] args) {int[] arr={9,8,3,5,2};sort(arr);System.out.println(Arrays.toString(arr));}public static void sort(int[] arr){int temp,j;for(int i=0;i<arr.length;i++){temp=arr[i];//先存储最开始arr[i]的值for(j=i-1;j>=0&&arr[j]>temp;j--){arr[j+1]=arr[j];}//j--后面间接交换了两个值arr[j+1]=temp;}}
}

五、二分查找算法:

二分查找法
返回要查找数据的下标,如果没有找到,则返回-1
只能处理已经排序好的序列

见代码及注释:

package com.easy2;
public class EasyJ {//二分查找法//返回要查找数据的下标,如果没有找到,则返回-1//只能处理已经排序好的序列public static void main(String[] args) {int[] arr={1,2,3,4,5,8,10,13,18,22,47,49,66,78};int dest=66;int result = binarySearch(arr, dest);if(result == -1) {System.out.println("未找到元素 " + dest);} else {System.out.println("元素 " + dest + " 的下标是: " + result);}}public static int binarySearch(int[] arr, int dest) {int left=0;int right=arr.length-1;while(left<=right){int mid=(left+right)/2;//整数运算结果是整数if(arr[mid]==dest){return mid;}else if(arr[mid]>dest){right=mid-1;}else if(arr[mid]<dest){left=mid+1;}}return -1;}
}

 

http://www.fameteam.cn/news/135.html

相关文章:

  • 深圳做微信网站建设定制开发公司
  • 漳州网站建设多少钱定制网站制作公司
  • 织梦本地安装网站seo标题关键词怎么写
  • oa系统使用步骤宁波seo网站
  • 怎么跟网站建设公司谈网站怎么做推广和宣传
  • 怎么把自己做的网页上传网站廊坊百度seo公司
  • 客流统计系统厂家重庆seo整站优化系统
  • 苏州建设工程公司seo免费诊断电话
  • 杭州知名电商代运营公司搜索引擎优化不包括
  • 什么专业可以做网站西安专业做网站公司
  • 上海网站建设 推荐站霸网络电脑培训学校能学什么
  • 浙江省交通工程建设集团网站博客网站seo
  • 颍上县住房和城乡建设局网站网站制作的流程
  • 做网站详细教程百度一下百度网页官
  • 2018网站建设sem是什么职业
  • 南昌有哪些做网站的公司石家庄百度快照优化排名
  • Web网站开发项目企业推广宣传文案
  • 17一起广州做网站网站seo分析案例
  • html php网站开发网络营销的公司有哪些
  • 我爱做衣服网站关键词优化分析工具
  • 威海市环翠区建设局网站谷歌seo优化技巧
  • 在自己的电脑做网站空间品牌营销的概念
  • 湖北省人民政府网站百度广告怎么推广
  • 网站开发总结 优帮云站长素材官网
  • 网站选项卡如何做自适应洛阳网站建设优化
  • 做海淘的网站做海淘的网站应用关键词优化
  • app试玩网站制作长沙seo培训班
  • 淘客网站怎么做排名网络推广工作
  • 石狮网站建设公司2022磁力链接搜索引擎推荐
  • 建设网站和app视频号怎么付费推广