1用java实现冒泡排序算法以及解决的几个小问题。
package huawei.exam;
public class BubbleSort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] str={1,4,2,8};
BubbleSort obj=new BubbleSort();
System.out.println(obj.Bubble(str));
}
//冒泡算法是从后往前计算的,大的数字就像大的泡泡一样,跑到后面去了啊。
public String Bubble(int[] str){
int temp=0;
String result="";
for(int i=str.length-1;i>=0;--i){
for(int j=0;j<i;++j){
if(str[j+1]<str[j]){
temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
}
}
//for(int i=0;i<str.length;i++)
result+=str;
return result;
}
}
上面程序其实在数据转换方面存在一点点问题。如何把Int型数组转换成String类型的。
在师弟的帮忙下,程序有点回转,但是不是解决了上面那个问题。在子函数Bubble(int[] str)传参数的过程,老是会粗线问题。并且,Int型的数组,如果想要打印出来,只能一个一个打印。除非把int型数组转换成String,但是采用str.toString();还是粗现问题。并且静态方法只能调用静态变量,不能调用全局变量。
package huawei.exam;
public class BubbleSort {
/**
* @param args
*/
static int str[]={1,4,2,8};
public static void main(String[] args) {
// TODO Auto-generated method stub
//int[] str={1,4,2,8}; //定义一个整型的数组变量。
System.out.println("初始化前的排序数组为:");
for(int i = 0;i < str.length;++i)
System.out.println(str[i]);
BubbleSort obj=new BubbleSort();
obj.Bubble();
for(int i = 0;i < str.length;++i)
System.out.println(str[i]);
}
//冒泡算法是从后往前计算的,大的数字就像大的泡泡一样,跑到后面去了啊。从小到大排序。
public String Bubble(){
int temp=0;
// System.out.println("初始化前的排序数组为:"+str);
for(int i=str.length-1;i>=0;--i){
for(int j=0;j<i;++j){
if(str[j+1]<str[j]){
temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
}
}
return str.toString();
}
}
把int[] str={};数组重新变为main()方法里的一个局部变量,此时程序也可以正常运行了。最终程序代码如下:
package huawei.exam;
public class BubbleSort {
/**
* @param args
*/
//static int str[]={1,4,2,8};
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] str={1,4,2,8}; //定义一个整型的数组变量。
System.out.println("排序前的排序数组为:");
for(int i = 0;i < str.length;++i)
System.out.println(str[i]);
BubbleSort obj=new BubbleSort();
obj.Bubble(str);
System.out.println("排序后的排序数组为:");
for(int i = 0;i < str.length;++i)
System.out.println(str[i]);
}
//冒泡算法是从后往前计算的,大的数字就像大的泡泡一样,跑到后面去了啊。从小到大排序。
public String Bubble(int[] str){
int temp=0;
// System.out.println("初始化前的排序数组为:"+str);
for(int i=str.length-1;i>=0;--i){
for(int j=0;j<i;++j){
if(str[j+1]<str[j]){
temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
}
}
return str.toString();
}
}
1用java实现冒泡排序算法以及解决的几个小问题。的更多相关文章
- Java基础--冒泡排序算法
冒泡排序算法的运作如下:(从后往前) 比较相邻的元素,如果第一个比第二个大,就交换他们两个. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的元素. 针对 ...
- Java基础 -- 冒泡排序算法(带详细注释)
冒泡排序的要点: 1.多轮排序,每轮排序中选出最大的元素放在最顶端,并且下次排序不再使用该元素; 2. 使用双for循环,外层for循环控制要排序的次数(轮数), 内层for循环控制当前要排序的元素并 ...
- Java实现冒泡排序算法
一.基本思路: 冒泡排序是一种简单的交换类排序.其基本思路是,从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移.每经过 一趟排序后,关键字值最大的元素将移到末尾,此 ...
- Java常见排序算法之冒泡排序
在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let ...
- java:高速排序算法与冒泡排序算法
Java:高速排序算法与冒泡算法 首先看下,冒泡排序算法与高速排序算法的效率: 例如以下的是main方法: /** * * @Description: * @author:cuiyaon ...
- Java中数组的几个常用算法:插入算法,删除算法,冒泡排序算法
前言: 在Java中我们常常会用数组,提到数组就不得不介绍数组中常用到的几个算法. 有插入算法,删除算法,冒泡排序算法等. 在学习这几个数组的算法前,我们先来了解一下关于数组一些基本知识. 数组的基本 ...
- java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序算法的描述
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则.通俗点说,就是计算机解题的过程.在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法.前者是推理实现的算法,后者是操作实现的算法. ...
- 基于Java实现的冒泡排序算法
冒泡排序是一种简单基础的排序算法,相信在大学课堂里老师已经讲过了,现在我基于Java来实现一遍. 简述 冒泡排序正如其关键词一样,杂乱的气泡经过浮动,最后大的气泡飘到了上面而小的气泡在下面,无序的元素 ...
- 冒泡排序算法(C#、Java、Python、JavaScript、C、C++实现)
一.介绍 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小.首字母从Z到A)错误就把他们交换过来. 走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排 ...
随机推荐
- 剑指offer--10.最小的K个数
边界判断,坑了一下 ----------------------------------------------- 时间限制:1秒 空间限制:32768K 热度指数:375643 本题知识点: 数组 ...
- BestCoder Round #18(hdu5105)Math Problem(高中数学)
最大值无非就是在两个端点或极值点处取得. 我注意讨论了a=0和b=0,却忽略了极值点可能不在L到R的范围内这一问题.被Hack了. #include<iostream> #include& ...
- 已知一个数组a[N]来构造数组b[N]的有趣算法题
给定一个数组a[N],我们希望构造数组b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i].在构造过程要求满足:1.不使用除法:2.O(1)空间复杂度和O(n)时间复杂度:3.除 ...
- poj1778
在一个 8*8 的棋盘里有一个国王和一些骑士,我们要把他们送到同一顶点上去. 国王能够选择一名骑士作为坐骑,而与骑士一起行动(相当于一个骑士),同一位置, 同一时刻可以有多个骑士.问最少走的步数. 骑 ...
- 2017-2018-1 20179215《Linux内核原理与分析》第十二周作业
Sql注入基础原理介绍 分组:和20179205王雅哲共同完成实验 一.实验说明 1.1 sql注入 SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组 ...
- Python 2.7_爬取妹子图网站单页测试图片_20170114
1.url= http://www.mzitu.com/74100/x,2为1到23的值 2.用到模块 os 创建文件目录; re模块正则匹配目录名 图片下载地址; time模块 限制下载时间;req ...
- bzoj 4059:Non-boring sequences 分治
题目: 我们害怕把这道题题面搞得太无聊了,所以我们决定让这题超短.一个序列被称为是不无聊的,仅当它的每个连续子序列存在一个独一无二的数字,即每个子序列里至少存在一个数字只出现一次.给定一个整数序列,请 ...
- Photon多人游戏开发教程
http://gad.qq.com/article/detail/26112 PUN介绍 入门 Photon Unity Networking(首字母缩写PUN)是一个Unity多人游戏插件包.它提供 ...
- [转]【鹅厂网事】全局精确流量调度新思路-HttpDNS服务详解
小编:对于互联网,域名是访问的第一跳,而这一跳很多时候会“失足”,导致访问错误内容,失败连接等,让我们在互联网上畅游的爽快瞬间消失,而对于这关键的第一跳,鹅厂也在持续深入研究和思考对策,今天小编就邀请 ...
- [转载]Linux驱动-SPI驱动-概述
转载地址http://blog.csdn.net/droidphone SPI是"Serial Peripheral Interface" 的缩写,是一种四线制的同步串行通信接口, ...