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

某商贸网站建设方案能让网络非常流畅的软件

某商贸网站建设方案,能让网络非常流畅的软件,南昌网站做,网站开发建设付款方式题目:有 N 个瓶子,编号 1 ~ N,放在架子上。 比如有 5 个瓶子: 2 1 3 5 4 要求每次拿起 2 个瓶子,交换它们的位置。 经过若干次后,使得瓶子的序号为: 1 2 3 4 5 对于这么简单的情况&#x…

题目:有 N 个瓶子,编号 1 ~ N,放在架子上。

比如有 5 个瓶子:

2 1 3 5 4

要求每次拿起 2 个瓶子,交换它们的位置。

经过若干次后,使得瓶子的序号为:

1 2 3 4 5

对于这么简单的情况,显然,至少需要交换 2 次就可以复位。

如果瓶子更多呢?你可以通过编程来解决。

输入描述

输入格式为两行:

第一行: 一个正整数 N (N<104), 表示瓶子的数目

第二行: N个正整数,用空格分开,表示瓶子目前的排列情况。

输出描述

输出数据为一行一个正整数,表示至少交换多少次,才能完成排序。

输入输出样例

示例

输入

5
3 1 2 5 4

输出

3

解题思路+代码:

代码:

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {/**思路:冒泡排序1.读取输入的N个瓶子存放进数组2.遍历输入的N个瓶子,再利用数组进行冒泡排序交换,记录交换的次数*/Scanner scan = new Scanner(System.in);int n = scan.nextInt();int[] arr = new int[n+1]; //防止边界溢出//遍历输入的N个瓶子存放到数组arrfor(int i = 1;i<=n;i++){arr[i] = scan.nextInt();}//记录需要交换的次数int count = 0;//遍历输入的N个瓶子for(int i = 1 ;i<=n;i++){while(arr[i] != i) {int temp = arr[i];//辅助变量//进行交换arr[i] = arr[temp];arr[temp] = temp;count++;}}System.out.println(count);scan.close();}
}

 总结:这道题需要理解题目中的两两交换排序就是冒泡排序,知道是冒泡排序的解法调动学过的数组知识,在理清交换的逻辑就可以很好地解答该题了。

http://www.dtcms.com/wzjs/152968.html

相关文章:

  • 自学网站推荐铜陵seo
  • 手机网站的作用网址推荐
  • 荔湾做网站公sem网络营销
  • 网站新版建设中seo技术 快速网站排名
  • 可信的免费网站建设百度小说排行榜前十
  • 网站建设账户搭建在线识别图片找原图
  • 南阳建设网站哪家好网站收录
  • 做网站群的公司福州百度seo排名软件
  • 东莞皮具网站建设电商运营转行后悔了
  • 扬州网站建设要多少钱微信营销软件有哪些
  • 网站收录排名怎么做google搜索引擎入口
  • 公司网站推广计划书怎么做太原做推广营销
  • 建站宝盒建站系统百度权重怎么看
  • 去哪学做网站网站建设及网站推广
  • 网站弹出文字找资源最好的是哪个软件
  • 公司做网站的宜昌今日头条新闻
  • 青岛企业网站开发2022年适合小学生的新闻
  • 合肥做百度网站爱站网长尾关键词挖掘工具电脑版
  • 郑州企业做网站软文营销网
  • 网站手机端跳转页面模板电商网站模板
  • 网盘网站开发seo竞价培训
  • 专门用来制作网页的软件是什么推广优化工具
  • 做网站如何备案个人在线网站推广
  • 软件制作app关键词seo排名优化软件
  • 专业团队搞笑图片网站seo收录
  • 最简单的静态网站360推广怎么收费
  • 网站换模板新东方线下培训机构官网
  • 沈阳建立网站最有效的广告宣传方式
  • 做网站优化有什么途径网站关键词优化排名软件
  • 台州网站推广技巧付费广州软文推广公司