2007-09-29
Java数据结构和算法--排序
马上要找工作了,所以的把原来的重要的课程再回顾一下,我重要复习的是数据结构,在网上下了<<Java数据结构和算法>>这本书,准备用3个星期看完.看到不如做到,做到不如写到,我的记忆力不是很好,为了看了之后不会忘记,我把学习的体会和程序代码贴上来,以供以后参考.
(1)冒泡排序
(2)选择排序
(1)冒泡排序
package ChapterOne;
public class Bubble {
public static void main(String[] args) {
Bubble b = new Bubble();
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i]+" ");
}
System.out.println();
b.bubble();
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i]+" ");
}
System.exit(0);
}
/**
* 冒泡排序
*/
public void bubble(){
for(int i = arr.length-1;i > 1;i--){
for(int j = 0;j < i;j++){
if(arr[j] > arr[j+1])
swap(j,j+1);
}
}
}
/**
* 交换数组中的两个数
* @param one
* @param two
*/
public void swap(int one,int two){
long temp = arr[one];
arr[one] = arr[two];
arr[two] = temp;
}
static long arr[] = new long[20];
/**
* 随机初始化一个长度为20的数组
*/
static{
for(int i = 0;i < arr.length;i++){
arr[i] = (long) (Math.random()*100);
}
}
}
(2)选择排序
package ChapterOne;
public class SelectSort {
/**
* 初始化一个长度为size的数组
* @param size
*/
public SelectSort(int size){
arr = new long[size];
for(int i = 0;i < size;i++){
arr[i] = (long) (Math.random()*100);
}
}
/**
* 选择排序
* @return
*/
public long[] sort(){
for(int i = 0;i < arr.length;i++){
int minIndex = findMin(i);
long min = arr[minIndex];
//子数组中的所有的数后移一个位置
for(int j = minIndex;j > 0;j--)
arr[j] = arr[j-1];
//把最小的数插入到最前端
arr[0] = min;
}
return arr;
}
/**
* 查找一start为起始位置到数组最后位置这段子数组中最小的一个数的位置
* @param start
* @return
*/
public int findMin(int start){
int min = start;
for(int i = min;i < arr.length;i++)
if(arr[min] > arr[i])
min = i;
return min;
}
public static void main(String[] args) {
SelectSort ss = new SelectSort(10);
ss.print();
long oa[] = ss.sort();
for(int i = 0;i < oa.length;i++)
System.out.print(oa[i]+" ");
System.out.println();
System.exit(0);
}
public void print(){
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i]+" ");
}
System.out.println();
}
long arr[];
}
- 21:49
- 浏览 (718)
- 评论 (4)
- 分类: Java数据结构和算法
- 进入论坛
- 相关推荐
评论
knight2010
2008-01-05
有 什么 比较好的 数据结构 入门的书籍吗 国外的
yongsky
2007-12-05
非常感谢楼上的兄弟,现在我已经拿到4个公司的offer了,呵呵.
反正就是喜欢编
2007-09-30
顶,祝你找到称心如意的工作
cfying
2007-09-30
yongsky 写道
马上要找工作了,所以的把原来的重要的课程再回顾一下,我重要复习的是数据结构,在网上下了<<Java数据结构和算法>>这本书,准备用3个星期看完.看到不如做到,做到不如写到,我的记忆力不是很好,为了看了之后不会忘记,我把学习的体会和程序代码贴上来,以供以后参考.
(1)冒泡排序
(2)选择排序
一天,男孩和女孩吵架了。他不再对她说“我爱你”,
(1)冒泡排序
package ChapterOne;
public class Bubble {
public static void main(String[] args) {
Bubble b = new Bubble();
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i]+" ");
}
System.out.println();
b.bubble();
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i]+" ");
}
System.exit(0);
}
/**
* 冒泡排序
*/
public void bubble(){
for(int i = arr.length-1;i > 1;i--){
for(int j = 0;j < i;j++){
if(arr[j] > arr[j+1])
swap(j,j+1);
}
}
}
/**
* 交换数组中的两个数
* @param one
* @param two
*/
public void swap(int one,int two){
long temp = arr[one];
arr[one] = arr[two];
arr[two] = temp;
}
static long arr[] = new long[20];
/**
* 随机初始化一个长度为20的数组
*/
static{
for(int i = 0;i < arr.length;i++){
arr[i] = (long) (Math.random()*100);
}
}
}
(2)选择排序
package ChapterOne;
public class SelectSort {
/**
* 初始化一个长度为size的数组
* @param size
*/
public SelectSort(int size){
arr = new long[size];
for(int i = 0;i < size;i++){
arr[i] = (long) (Math.random()*100);
}
}
/**
* 选择排序
* @return
*/
public long[] sort(){
for(int i = 0;i < arr.length;i++){
int minIndex = findMin(i);
long min = arr[minIndex];
//子数组中的所有的数后移一个位置
for(int j = minIndex;j > 0;j--)
arr[j] = arr[j-1];
//把最小的数插入到最前端
arr[0] = min;
}
return arr;
}
/**
* 查找一start为起始位置到数组最后位置这段子数组中最小的一个数的位置
* @param start
* @return
*/
public int findMin(int start){
int min = start;
for(int i = min;i < arr.length;i++)
if(arr[min] > arr[i])
min = i;
return min;
}
public static void main(String[] args) {
SelectSort ss = new SelectSort(10);
ss.print();
long oa[] = ss.sort();
for(int i = 0;i < oa.length;i++)
System.out.print(oa[i]+" ");
System.out.println();
System.exit(0);
}
public void print(){
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i]+" ");
}
System.out.println();
}
long arr[];
}当然她也不再对他说“我也是”。一天晚上,
他们谈到了分手的事,背对背睡下。半夜,
天上打雷了。第一声雷响时,他醒了,
下意识地猛地用双手去捂她的耳朵,
才发现不知何时他又拥着她。雷声紧接着炸,
假装什么也没发生,可谁都没有睡着,
她想也许他还爱我,生怕我受一点点吓。
他想,也许她还爱我,不然她不会流泪。
爱的最高境界是经得起平淡的流年。
世界上最美的木乃侯,这是一个古老的符咒,
请在收到此消息后发经三个论坛。
等你发完后看看三天后就能得到心爱的人。
不发的话你将有霉运一个月,同学说他试过了,很灵
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 10113 次
- 性别:

- 来自: 武汉

- 详细资料
搜索本博客
我的相册
Image00000
共 3 张
共 3 张
最近加入圈子
最新评论
-
学习EXT过程中做的一个例 ...
跟EXT的例子有区别吗!
-- by e-ant -
学习EXT过程中做的一个例 ...
看见一个tab面板
-- by peter_wu -
学习EXT过程中做的一个例 ...
楼主你说的不是很清楚啊,什么做的什么例子啊
-- by wzh1008 -
学习EXT过程中做的一个例 ...
有的,上面不是说的很清楚了吗
-- by mawt -
Java数据结构和算法--排序
有 什么 比较好的 数据结构 入门的书籍吗 国外的
-- by knight2010






评论排行榜