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

吴桥做网站小程序 wordpress

吴桥做网站,小程序 wordpress,旅游类网站怎么做,比尤果网做的好的网站1、冒泡排序 冒泡排序是从下标 1 遍历到 n,每当遇到大于下一个的,就和上一个交换位置,这样最大的就移动到了 n 的位置,然后从头再从 1 遍历到 n-1,把第二大的移动到 n-1 的位置,依此类推,每次从…

1、冒泡排序

冒泡排序是从下标 1 遍历到 n,每当遇到大于下一个的,就和上一个交换位置,这样最大的就移动到了 n 的位置,然后从头再从 1 遍历到 n-1,把第二大的移动到 n-1 的位置,依此类推,每次从剩下的里面挑出最大的一个放在末尾。它的特点是每次遍历过程中都会不断的交换位置,即为冒泡排序,是一种稳定排序。

package com.fdw.algorithm.sort;import java.util.Arrays;/*** @program: RedisDemo* @description: 冒泡排序* @author: fudingwei* @create: 2024-05-30 13:58**/
public class BublingSort {public static void main(String[] args) {int[] array = new int[]{6,5,72,1,4,5,12,8,3,2,7};sort(array);System.out.println(Arrays.toString(array));}public static void sort(int[] array){for (int i = 0; i < array.length; i++) {boolean flag = true;//关键是j < array.length-i-1for (int j = 0; j < array.length-i-1; j++) {//冒泡排序的过程中不停的在交换if(array[j]>array[j+1]){swap(array,j,j+1);flag = false;}}//没有进行交换,说明已经有序if(flag){break;}}}public static void swap(int[] array,int left,int right){int temp = array[left];array[left] = array[right];array[right] = temp;}
}

2、选择排序

选择排序是是从下标 1 遍历到 n,找出最小数的下标,然后将最小数和下标 1 交换位置,然后再从下标 2 遍历到 n,找出第二小的数,将其和下标 2 交换位置,依此类推,每次从剩下的里面挑出最小的一个放在前面。它的特点是每次遍历过程中只会交换一次位置,即为选择排序,是一种不稳定排序。

package com.fdw.algorithm.sort;import java.util.Arrays;/*** @program: RedisDemo* @description: 选择排序* @author: fudingwei* @create: 2024-05-30 14:24**/
public class SelectSort {public static void main(String[] args) {int[] array = new int[]{6, 5, 72, 1, 4, 5, 12, 8, 3, 2, 7};sort(array);System.out.println(Arrays.toString(array));}public static void sort(int[] array) {for (int i = 0; i < array.length; i++) {int min = i;//每次选出最小的,存下标for (int j = i + 1; j < array.length; j++) {if (array[j] < array[min]) {min = j;}}//把最小的放第一位if (min != i) {swap(array, i, min);}}}public static void swap(int[] array, int left, int right) {int temp = array[left];array[left] = array[right];array[right] = temp;}
}

3、插入排序

插入排序是从第二位开始遍历,遍历时当这一位数小于前一位时,就会和前面的进行交换位置,如果交换完后该数仍然小于前一位,会继续交换,一直到该数不小于前一位为止,它的特点是每次遍历前都能保证前面的数据已经是递增的状态,将数据插入到已有顺序中它应该在的位置,即为插入排序,是一种稳定排序。

package com.fdw.algorithm.sort;import java.util.Arrays;/*** @program: RedisDemo* @description: 插入排序* @author: fudingwei* @create: 2024-05-30 11:54**/
public class InsertSort1 {public static void main(String[] args) {int[] data = {1,1,2,8,4,2,1,6,4,8,6,9,2,1};sort(data);System.out.println(Arrays.toString(data));}public static void sort(int[] array){for (int i = 1; i < array.length; i++) {//遍历i前的值 大于array[i]就后移,一边移动一边排序,保证了temp前的数据一定是递增的for (int j = i-1; j >=0; j--) {if(array[j]>array[j+1]){//交换swap(j+1,j,array);}else {break;}}}}public static void swap(int l,int r,int[] array){int temp = array[l];array[l] = array[r];array[r] = temp;}
}

 总结

三种排序算法都是使用了两个for循环来遍历,时间复杂度都是O(n的平方),选择排序是不稳定的,其他两种是稳定的,三种算法都涉及到位置的交换,选择排序交换的次数最少。

http://www.yayakq.cn/news/743327/

相关文章:

  • 嘉定区做网站html网页制作动态效果
  • mysql 网站登录密码做年报的网站
  • 猪八戒网站找做微信小程序的高端网站登录入口
  • 南昌简单做网站女孩子学做网站有前途吗
  • 宁波建站模板国内免费注册域名
  • 网站两侧固定广告代码网站视频怎么做的
  • 昭平县建设局网站做网站制作大概多少钱
  • 用电脑做网站的历史在哪里找网络推广产品
  • 清远建设网站万能编程软件
  • 如何查网站开发商学校宣传片视频如何制作
  • 黄浦手机网站建设网站建设平台方案
  • 做网站的公司上海dw网站开发环境搭建
  • 人社网站和微信平台建设方案漯河住房和城乡建设局网站
  • 如何让谷歌收录网站广州seo服务外包
  • 网站建设免费网络服务器搭建配置与管理 下载
  • 吉祥物设计网站医院网站建设策划书
  • 左右布局的网站idc网站模版
  • 中国建设银行招投标网站asp网站开发教程
  • 锦州网站建设案例网站织梦模板
  • 网站gzip压缩wordpress 代做网站
  • 一个企业网站ppt怎么做小程序怎么开
  • 中山营销网站建设为网站吸引流量的方法
  • 有源码个人网站怎么建立京东不让卖网站制作么
  • 上海网站制作哪家奿wordpress解压子目录下
  • 网站仿制公司最新自助建站源码
  • 注册域名 不建网站建站行业转型
  • 利用阿里云虚拟主机做网站轻淘客网站建设
  • 常见的网站空间饿了么企业网站
  • 网站页头设计网站开发 动易
  • 域名网站怎么做的域名app