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

怎么做旅游网站室内设计网站都有哪些平台

怎么做旅游网站,室内设计网站都有哪些平台,域名网站是什么,无敌神马在线观看免费完整Java实现排序的基础方法有很多#xff0c;下面介绍几种比较常见的排序算法及其代码实现。 1.冒泡排序 冒泡排序是一种基础的排序算法#xff0c;其思想是依次比较相邻的两个元素#xff0c;如果顺序不对则交换它们的位置#xff0c;直到整个数组都排好序为止。 代码实现…Java实现排序的基础方法有很多下面介绍几种比较常见的排序算法及其代码实现。 1.冒泡排序 冒泡排序是一种基础的排序算法其思想是依次比较相邻的两个元素如果顺序不对则交换它们的位置直到整个数组都排好序为止。 代码实现 public static void bubbleSort(int[] arr) {     int n arr.length;     for (int i 0; i n - 1; i) {         for (int j 0; j n - i - 1; j) {             if (arr[j] arr[j 1]) {                 int temp arr[j];                 arr[j] arr[j 1];                 arr[j 1] temp;             }         }     } } 2.快速排序 快速排序是一种高效的排序算法其基本思想是取一个基准元素将小于它的元素放在左边大于它的元素放在右边再递归地对左右两部分进行排序。 代码实现 public static void quickSort(int[] arr, int left, int right) {     if (left right) {         int pivot partition(arr, left, right);         quickSort(arr, left, pivot - 1);         quickSort(arr, pivot 1, right);     } } private static int partition(int[] arr, int left, int right) {     int pivot arr[left];     int i left 1;     int j right;     while (i j) {         while (i j arr[i] pivot) {             i;         }         while (i j arr[j] pivot) {             j--;         }         if (i j) {             int temp arr[i];             arr[i] arr[j];             arr[j] temp;             i;             j--;         }     }     arr[left] arr[j];     arr[j] pivot;     return j; } 3.插入排序 插入排序是一种简单的排序算法其思想是将待排序元素逐个插入到已排序序列中的合适位置。 代码实现 public static void insertSort(int[] arr) {     int n arr.length;     for (int i 1; i n; i) {         int key arr[i];         int j i - 1;         while (j 0 arr[j] key) {             arr[j 1] arr[j];             j--;         }         arr[j 1] key;     } } 4.选择排序 选择排序是一种简单的排序算法其思想是每次从未排序的元素中选择最小或最大的元素放到已排序序列的末尾。 代码实现 public static void selectSort(int[] arr) {     int n arr.length;     for (int i 0; i n - 1; i) {         int minIndex i;         for (int j i 1; j n; j) {             if (arr[j] arr[minIndex]) {                 minIndex j;             }         }         int temp arr[i];         arr[i] arr[minIndex];         arr[minIndex] temp;     } } 5.归并排序 归并排序是一种高效的排序算法其基本思想是将待排序序列分成两个子序列分别排序后再将其合并成一个有序序列。 代码实现 public static void mergeSort(int[] arr, int left, int right) {     if (left right) {         int mid (left right) / 2;         mergeSort(arr, left, mid);         mergeSort(arr, mid 1, right);         merge(arr, left, mid, right);     } } private static void merge(int[] arr, int left, int mid, int right) {     int[] temp new int[right - left 1]; // 临时数组     int i left; // 左序列指针     int j mid 1; // 右序列指针     int k 0; // 临时数组指针     while (i mid j right) {         if (arr[i] arr[j]) {             temp[k] arr[i];         } else {             temp[k] arr[j];         }     }     while (i mid) {         temp[k] arr[i];     }     while (j right) {         temp[k] arr[j];     }     // 将临时数组中的元素复制到原数组中     for (int m 0; m temp.length; m) {         arr[left m] temp[m];     } } 6.堆排序 堆排序是一种利用堆的数据结构进行排序的算法其基本思想是将待排序序列构造成一个大/小根堆然后每次将堆顶元素最大/最小值放到已排序序列的末尾。 代码实现 public static void heapSort(int[] arr) {     int n arr.length;     // 构造大根堆     for (int i n / 2 - 1; i 0; i--) {         adjustHeap(arr, i, n);     }     // 排序     for (int i n - 1; i 0; i--) {         swap(arr, 0, i);         adjustHeap(arr, 0, i);     } } private static void adjustHeap(int[] arr, int i, int n) {     int temp arr[i];     for (int j i * 2 1; j n; j j * 2 1) {         if (j 1 n arr[j] arr[j 1]) {             j;         }         if (arr[j] temp) {             arr[i] arr[j];             i j;         } else {             break;         }     }     arr[i] temp; } private static void swap(int[] arr, int i, int j) {     int temp arr[i];     arr[i] arr[j];     arr[j] temp; } 7.二分法排序 二分法排序也称为折半插入排序是一种基于插入排序的改进算法。其基本思想是将待排序序列分为已排序和未排序两部分在已排序序列中使用二分查找找到插入位置然后将元素插入到已排序序列的正确位置。 public static void binaryInsertionSort(int[] arr) {     int n arr.length;     for (int i 1; i n; i) {         int target arr[i];         int left 0;         int right i - 1;         // 使用二分查找找到插入位置         while (left right) {             int mid (left right) / 2;             if (target arr[mid]) {                 right mid - 1;             } else {                 left mid 1;             }         }         // 将大于target的元素都向后移动一位         for (int j i - 1; j left; j--) {             arr[j 1] arr[j];         }         arr[left] target; // 插入元素到正确位置     } }
http://www.ihoyoo.com/news/88852.html

相关文章:

  • 中山门户网站制作在哪里买企业网站免费建设
  • 潍坊网站开发weifangwangluo程序员 wordpress主题
  • 怎么降低网站的跳出率百度竞价优缺点
  • 上线了 做商务网站seo网站推广首页排名
  • 移动wap网站信誉好的龙岗网站设计
  • 做网站如何躲过网警百度网站入口
  • 安徽工程建设官方网站网站设计 评价 方法
  • 网站怎么做uc整合台州做网站是什么
  • 杭州网站建设北京丰台做网站
  • 看p站用什么浏览器有没有免费制作网站的
  • qq头像网站源码免费营销软件网站
  • 自己做的网站打不开是什么原因上海全网推广
  • 电子商务网站建设与管理期末试题怎么制作游戏视频教程
  • 学前端什么网站好电商设计平台
  • 谁家网站用户体验做的好天元建设集团有限公司第二公司
  • 网站html地图模板阿里云 wordpress 教程
  • 服务网站建设排行软考高项彻底没用了
  • 南平武夷山网站建设编程网站入口
  • 做医疗科普的网站杭州设计 公司 网站
  • 大学生创新创业网站建设内容龙岗网站建设代理商
  • app的网站域名江西省赣州市中考成绩查询时间
  • 贵州企业网站建设案例电子商务网站前台建设常用的技术
  • 做网站推广logo社交网站模板
  • 做家务的男人网站中小企业还需要网站吗
  • seo引擎搜索网站关键词网络营销模式不是孤立存在的
  • wordpress站点路径哪些群体对网站开发有需求
  • 网站文章内容排版要求搜索引擎营销方法主要有三种
  • 网页制作与网站建设实战大全pdftitle 网站建设
  • 中信建设内部网站短网址生成防屏蔽
  • 新媒体 网站建设 影视免费推广网站在线观看