前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数组的逆序和冒泡排序方法

数组的逆序和冒泡排序方法

作者头像
软件小生活
发布2021-08-16 10:42:54
发布2021-08-16 10:42:54
62300
代码可运行
举报
文章被收录于专栏:软件小生活软件小生活
运行总次数:0
代码可运行

数组的逆序

数组元素逆序 (就是把元素对调)

分析:

                 A:定义一个数组,并进行静态初始化。

                 B:思路

把0索引和arr.length-1的数据交换

把1索引和arr.length-2的数据交换

                         ...

只要做到arr.length/2的时候即可。

代码实战:

代码语言:javascript
代码运行次数:0
运行
复制
publicstaticvoid main(String[] args) {
  int[]arr ={1,2,3,4,5};
  // 5 4  3  2  1
  reverse(arr);
  for(inti=0;i<arr.length;i++)
   {
         System.out.print(arr[i]+",");
   }
}
 staticvoid reverse(int [] arr)
 {
 /*
      //  第一次
 int  tem = arr[0];
 arr[0]  = arr[arr.length-1-0];
 arr[arr.length-1-0]  = tem;
      //  第二次
 int  tem =  arr[1];
 arr[1]  = arr[arr.length-1-1];
 arr[arr.length-1-1]  = tem;
      */
 for(inti=0;i<arr.length/2;i++)
      {
 inttem = arr[i];
 arr[i] = arr[arr.length-1-i];
 arr[arr.length-1-i] = tem;
      }
 }

选择排序

给定一个数组:

int [] arr = {80,10,8,200,3,210}

请按照从小到大顺序进行排序

代码实战:

代码语言:javascript
代码运行次数:0
运行
复制
publicstaticvoid main(String[] args) {
 int [] arr = {80,10,8,200,3,210};
 sort(arr);
 for(inti=0;i<arr.length;i++)
      {
          System.out.print(arr[i]+",");
      }
}
 staticvoid sort(int [] arr)
 {
 for(intx=0;x<arr.length;x++)
      {
 for(inty=x+1;y<arr.length;y++)
          {
  if(arr[x]>arr[y])
              {
  inttemp = arr[x];
  arr[x] = arr[y];
  arr[y] = temp;
              }
          }
      }
 }

冒泡排序

int[] arr={24,69,80,57,13}

冒泡排序的概念

将一个数组中的元素,两两进行比较,大的往后面放,第一轮比较完成后,数组中最大值得元素会放在数组最大索引的位置,

同理,以此类推,最终会得出一个排序好的数组

冒泡排序的规律:

规律:1)两两比较,数组的最大值在最后面

       2)第一次比较完成后,下一次再比较的时候,就少了一个元素进行比较了

第一次比较,有0个元素不比较

第二次比较,有1个元素不比较

第三次比较,有2个元素不比较

              ..................

      3)总共需要比较的长度是 数组length-1

部分代码:

代码语言:javascript
代码运行次数:0
运行
复制
publicclass Demo1 {
  publicstaticvoid main(String[] args) {
  int[] arr={24,69,80,57,13};
  printArr(arr);
  //第一次比较
  for(intx=0;x<arr.length-1;x++)
      {
  if(arr[x]>arr[x+1])
          {
  inttem = arr[x];
  arr[x] = arr[x+1];
  arr[x+1]=tem;
          }
      }
      System.out.println("=========第一次比较后:=====");
  printArr(arr);
  //第二次比较
  for(intx=0;x<arr.length-1-1;x++)
      {
  if(arr[x]>arr[x+1])
          {
  inttem = arr[x];
  arr[x] = arr[x+1];
  arr[x+1]=tem;
          }
      }
      System.out.println("=========第二次比较后:=====");
  printArr(arr);
  }
  publicstaticvoid printArr(int[]arr)
  {
  for(inti=0;i<arr.length;i++)
      {
        System.out.print(+arr[i]+",");
      }
  }
}

【冒泡排序的练习题】:

  • 将 上课讲解的冒泡排序散代码封装成方法
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件小生活 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数组的逆序
  • 选择排序
  • 冒泡排序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档