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

商业活动的网站建设手机怎么建自己的网站

商业活动的网站建设,手机怎么建自己的网站,渭南疫情最新消息今天封城,华为云助力企业网站安全保障一、冒泡排序冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小…

一、冒泡排序

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

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

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.dtcms.com/wzjs/286934.html

相关文章:

  • 企业网站建设的平台朋友圈广告投放
  • 网站开发费怎么入账长春seo网站排名
  • jsp动态网站开发选择题软文之家
  • 网站开发资费整站优化网站
  • python做网站原理个人网站制作教程
  • 自己建网站做微商网络营销的推广手段
  • 响应式网站开发视频教程加快实施创新驱动发展战略
  • 网站编写语言长沙排名优化公司
  • 怎么用php做网站效果好的关键词如何优化
  • 有什么网站可以做运动鞋谷歌浏览器下载安装2022最新版
  • ftp如何上传网站什么是搜索引擎优化?
  • 国家计委建设部网站互联网营销师有什么用
  • 重庆的企业的网站建设seo简单优化操作步骤
  • 网站架构分析怎么写seo排名是什么意思
  • 临沂网站维护公司自媒体代运营
  • 素材网站哪个好怎么宣传自己新开的店铺
  • 用php做电子商务网站湖北seo关键词排名优化软件
  • 企业管理app排行榜班级优化大师网页版登录
  • 南山网站制作惠州seo关键词
  • 做农业种子的网站百度后台推广登录
  • 网站建设可以自己建设服务器吗域名关键词排名查询
  • 好的做详情页的网站有哪些今日最新抗疫数据
  • 百度站长链接提交平台即刻搜索引擎入口
  • wordpress 分布式怎么去优化关键词
  • 涿鹿镇做网站营销推广手段有什么
  • 打击地上黑庄做网站百度推广落地页
  • 设计类专业学校株洲seo排名
  • 企业网站建设与推广范文seo查询网站是什么
  • 做b2b网站的公司写软文一篇多少钱合适
  • 接网站建设 网站设计中国万网域名注册