`

java常用算法

阅读更多

public class SortAll { 
 
 /**
  * 冒泡排序,选择排序,插入排序,希尔(Shell)排序 Java的实现  
  */ 
 public static void main(String[] args) { 
  int[] i = { 1, 5, 6, 12, 4, 9, 3, 23, 39, 403, 596, 87 }; 
  System.out.println("----冒泡排序的结果:"); 
  maoPao(i); 
  System.out.println(); 
  System.out.println("----选择排序的结果:"); 
  xuanZe(i); 
  System.out.println(); 
  System.out.println("----插入排序的结果:"); 
  chaRu(i); 
  System.out.println(); 
  System.out.println("----希尔(Shell)排序的结果:"); 
  shell(i); 
 } 
 
 // 冒泡排序 
 public static void maoPao(int[] x) { 
  for (int i = 0; i < x.length; i++) { 
   for (int j = i + 1; j < x.length; j++) { 
    if (x[i] > x[j]) { 
     int temp = x[i]; 
     x[i] = x[j]; 
     x[j] = temp; 
    } 
   } 
  } 
  for (int i : x) { 
   System.out.print(i + " "); 
  } 
 } 
 
 // 选择排序 
 public static void xuanZe(int[] x) { 
  for (int i = 0; i < x.length; i++) { 
   int lowerIndex = i; 
   // 找出最小的一个索引 
   for (int j = i + 1; j < x.length; j++) { 
    if (x[j] < x[lowerIndex]) { 
     lowerIndex = j; 
    } 
   } 
   // 交换 
   int temp = x[i]; 
   x[i] = x[lowerIndex]; 
   x[lowerIndex] = temp; 
  } 
  for (int i : x) { 
   System.out.print(i + " "); 
  } 
 } 
 
 // 插入排序 
 public static void chaRu(int[] x) { 
  for (int i = 1; i < x.length; i++) {// i从一开始,因为第一个数已经是排好序的啦 
   for (int j = i; j > 0; j--) { 
    if (x[j] < x[j - 1]) { 
     int temp = x[j]; 
     x[j] = x[j - 1]; 
     x[j - 1] = temp; 
    } 
   } 
  } 
  for (int i : x) { 
   System.out.print(i + " "); 
  } 
 } 
 
 // 希尔排序 
 public static void shell(int[] x) { 
  // 分组 
  for (int increment = x.length / 2; increment > 0; increment /= 2) { 
   // 每个组内排序 
   for (int i = increment; i < x.length; i++) { 
    int temp = x[i]; 
    int j = 0; 
    for (j = i; j >= increment; j -= increment) { 
     if (temp < x[j - increment]) { 
      x[j] = x[j - increment]; 
     } else { 
      break; 
     } 
    } 
    x[j] = temp; 
   } 
  } 
 
  for (int i : x) { 
   System.out.print(i + " "); 
  } 
 } 

分享到:
评论

相关推荐

    Java常用算法手册(jb51.net)_Java常用算法手册_

    《Java常用算法手册》是一本面向Java初学者的算法指南,旨在通过深入浅出的方式,帮助读者理解并掌握各种常见的编程算法,从而提高他们的编程能力和解决问题的效率。这本书的覆盖范围广泛,涉及到算法基础、数据结构...

    Java常用算法手册

    资源名称:Java常用算法手册内容简介:现代的设计任务大多通过计算机编程来完成,而算法起到了至关重要的作用。可以毫不夸张地说,算法是一切程序设计的灵魂和基础。选择合理的算法,可以起到事半功倍的效果。 赵...

    Java常用算法手册 高清

    《Java常用算法手册》是一本深入探讨Java编程中常见算法的实用指南,旨在帮助开发者提升在实际工作中解决复杂问题的能力。...通过阅读这本书,你可以系统地学习和实践Java中的算法,为你的职业生涯增添更多的可能。

    java常用算法大全源代码.zip

    通过阅读这些源代码,不仅可以学习到如何在Java中实现各种算法,还能了解到如何优化代码性能,提升解决问题的能力。此外,这些源代码也可以作为实际项目中的参考,帮助开发者快速解决遇到的计算问题。 总的来说,这...

    Java常用算法手册.pdf

    根据提供的文件信息,“Java常用算法手册.pdf”似乎是一份针对Java程序员的学习资源,旨在帮助他们掌握和提升在算法方面的知识与技能。然而,基于提供的简短描述和部分内容来看,并没有直接涉及具体的算法知识点,...

    java常用算法手册源码

    本资源是“Java常用算法手册”的源代码,可以帮助开发者深入理解并实践各种常见的算法。 算法是解决问题或执行任务的精确步骤序列,是计算机科学的基础。对于Java开发者来说,掌握基本的算法知识不仅可以提高编程...

    《Java常用算法手册》源代码

    《Java常用算法手册》源代码是一份非常宝贵的资源,它为Java开发者提供了丰富的算法实现,是学习和实践算法的理想材料。这份源代码集合涵盖了多种经典和实用的算法,旨在帮助开发者提升编程技能,理解算法原理,并能...

    Java常用算法手册源码

    这本"Java常用算法手册源码"集合了Java编程中常见的算法实现,对于学习和提升Java算法能力非常有帮助。以下将对其中涉及的主要算法进行详细介绍: 1. 排序算法: - 冒泡排序:基础排序算法,通过不断交换相邻元素...

    java常用算法手册

    《Java常用算法手册》是一本深入浅出的编程资源,主要涵盖了Java编程语言中的各种常见算法,对于学习和提升Java编程技巧以及理解算法思想具有重要价值。这份手册以实际可运行的代码为载体,使读者能够直观地看到算法...

    Java常用算法手册源代码(第三版-宋娟)

    在Java中,数组提供了快速访问和定位元素的能力。 - **链表**:非连续存储的数据结构,每个元素(节点)包含数据和指向下一个节点的引用。分为单链表、双链表和循环链表等。 - **栈**:后进先出(LIFO)的数据结构...

    java常用算法手册第三版高清版

    java常用算法手册第三版高清版

    Java常用算法手册源代码

    3.1 常用算法思想概述 3.2 穷举算法思想 3.2.1 穷举算法基本思想 3.2.2 穷举算法实例 3.3 递推算法思想 3.3.1 递推算法基本思想 3.3.2 递推算法实例 3.4 递归算法思想 …… 第2篇 算法应用篇 第4章 排序算法 第5章 ...

    java常用算法手册源代码

    Java算法手册源代码包含了丰富的编程实践,是学习和理解算法的宝贵资源。这些源文件分别命名为P1到P13,可能代表着不同的章节或者主题。下面将针对Java算法这一主题,详细阐述一些重要的知识点。 首先,Java作为一...

Global site tag (gtag.js) - Google Analytics