<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
1 /**
2 * 功能:完成了对所给数组进行排序;
3 *
4 * @author Administrator
5 */
6
7 public class BubbleSort
8 {
9 public BubbleSort()
10 {
11
12 }
13
14 public static void main ( String args[] )
15 {
16 int data[] = { 63, 56, 98, 12, 24 };
17
18 int n = data.length;
19
20 // bubblesort(data, n);//冒泡排序
21 //selectionSort(data, n);//选择排序
22 insertionSort(data,n);//插入排序
23 for (int i = 0; i < n; i++)
24 {
25 System.out.println(data[i]);
26
27 }
28
29 }
30
31 public static void swap ( int data[] , int i , int j )
32 {
33 int temp;
34 temp = data[i];
35 data[i] = data[j];
36 data[j] = temp;
37 }
38
39 /*
40 * 冒泡排序
41 */
42 public static void bubblesort ( int data[] , int n )
43 {
44 int numsorted = 0;
45 int index;
46 while (numsorted < n)
47 {
48 for (index = 1; index < n - numsorted; index++)
49 {
50 if (data[index - 1] > data[index])
51 swap(data, index - 1, index);
52
53 }
54 numsorted++;
55
56 }
57
58 }
59
60 /*
61 * 选择排序
62 */
63 public static void selectionSort ( int data[] , int n )
64 {
65 int numUnsorted = n;
66 int index;
67 int max;
68 while (numUnsorted > 0)
69 {
70 max = 0;
71 for (index = 1; index < numUnsorted; index++)
72 {
73 if (data[max] < data[index])
74 max = index;
75
76 }
77 swap(data, max, numUnsorted - 1);
78 numUnsorted--;
79
80 }
81 }
82
83 /*
84 * 插入排序
85 */
86 public static void insertionSort ( int data[] , int n )
87 {
88 int numSorted = 1;
89 int index;
90 while (numSorted < n)
91 {
92 int temp = data[numSorted];
93 for (index = numSorted; index > 0; index--)
94 {
95 if (temp < data[index - 1])
96 {
97 data[index] = data[index - 1];
98 } else
99 {
100 break;
101 }
102 }
103 data[index] = temp;
104 numSorted++;
105 }
106 }
107
108 }
109
分享到:
相关推荐
### Java 实现数据结构常见排序算法及详解 #### 排序算法概述 排序算法是计算机科学中的基础概念之一,主要用于将一系列数据按照特定规则进行排列。根据数据处理方式的不同,排序算法大致分为两大类:比较排序与非...
这里我们将深入探讨在C语言中实现的六种常见排序算法:插入排序、Shell排序、堆排序、冒泡排序、快速排序以及归并排序。 1. **插入排序**:插入排序是一种简单的排序算法,它的工作原理类似于我们日常生活中的整理...
以下是对七种常见排序算法的详细解释: 1. **冒泡排序**:冒泡排序是最基础的排序算法之一,其工作原理是通过不断地交换相邻的逆序元素,使得最大的元素逐渐“冒”到数组的末尾。该过程会重复进行,直到所有元素都...
交换排序是基于比较对象之间大小关系,通过交换元素位置来达到排序目的的一种排序算法。其中,冒泡排序是最基础的交换排序,它通过相邻元素间的比较和交换,逐步将较大的元素推向序列末尾。优化后的双向冒泡排序能...
### 常见排序算法的实现与性能比较 #### 实验背景及目的 排序算法是计算机科学中的一个重要组成部分,广泛应用于各种数据处理场景之中。通过本实验,我们旨在实现六种常见的排序算法——合并排序、插入排序、希尔...
使用场景及目标:通过实际代码理解和掌握常见排序算法的工作原理,优化数据处理效率。适用于初学者学习算法基础知识,以及开发者在实际项目中选择合适的排序算法。 其他说明:文章内容结构清晰,每个算法的实现代码...
### C语言常见排序算法及比较 #### 插入排序(Insertion Sort) **基本思想**: 插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置...
以下是对标题“各常见排序算法实践”及描述中涉及的排序算法的详细说明: 1. **简单选择排序**: 简单选择排序是一种基于比较的排序算法,其基本思想是在未排序序列中找到最小(或最大)元素,存放到排序序列的...
常见排序算法的实现与性能比较JAVA 问题描述:实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法 实验要求: A. 在随机产生的空间大小分别为 N = 10, 1000,10000,100000 的排序样本(取值为[0...
"八种常见排序算法总结" 直接插入排序是一种简单的排序算法,它的思想是每次选择一个元素 K 插入到之前已排好序的部分 A[1…i]中,插入过程中 K 依次由后向前与 A[1…i]中的元素进行比较。若发现 A[x]>=K,则将 K ...
这个名为"Java常见排序算法源码集.rar"的压缩文件显然包含了多种常用的排序算法的Java实现,对于初学者来说,这是一个非常宝贵的资源,可以深入理解各种算法的工作原理。 首先,我们来逐一探讨这些常见的排序算法:...
五种常见排序法的比较 归并排序 快速排序 选择排序 插入排序 冒泡排序
报告的标题是“中科大算法导论课程实验 常见排序算法的实现与性能比较”,指出了本实验报告的重点在于实现并比较各类常见排序算法。 #### 描述解读 描述部分指明了实验的目的和范围,要求对六种排序算法——合并...
在"排序算法.zip"这个压缩包中,很可能是包含了关于各种常见排序算法的源代码、示例或教程。 1. 冒泡排序(Bubble Sort): 冒泡排序是一种简单的交换排序方法,通过重复遍历数组,比较相邻元素并交换位置,使得较...
这个压缩包“常见排序算法.zip”包含了一份名为“常见排序算法.pdf”的文档,很可能详细介绍了多种常见的排序算法及其原理。下面,我们将深入探讨这些排序算法的核心概念、工作原理以及它们的应用场景。 1. 冒泡...
本篇文章将详细探讨C#实现的四种常见排序算法:冒泡排序、选择排序、快速排序和插入排序。 1. **冒泡排序**: 冒泡排序是一种简单的交换排序,通过不断比较相邻元素并交换位置,使较大的元素逐渐“浮”到数组的...
Java数据挖掘18大算法实现和10大常见排序算法以及其他相关经典DM算法集合。 18大数据挖掘的经典算法以及代码实现,涉及到了决策分类,聚类,链接挖掘,关联挖掘,模式挖掘等等方面,后面都是相应算法的文章,希望能够...
这篇博客“Java常见排序算法”深入探讨了如何在Java中实现不同的排序方法,这对于我们理解和优化程序性能至关重要。以下是对这些常见排序算法的详细介绍: 1. **冒泡排序** (Bubble Sort): 冒泡排序是最基础的...
这个名为"Python常见排序算法汇总共2页.pdf.zip"的压缩包文件,很可能是包含了一份关于Python中常用排序算法的总结文档,虽然描述中并未提供详细内容,但我们可以推测它可能涵盖了以下常见的Python排序算法: ...