public class Sort {
public static void main(String[] args){
int[] arr = {1,0,9,8,2,5,6,7,4,3};
print(arr);
selectSort(arr);
System.out.println();
print(arr);
bubbleSort(arr);
System.out.println();
print(arr);
insertSort(arr);
System.out.println();
print(arr);
}
private static void print(int[] arr){
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
}
//挨个交换,将最大的放在右边
public static void bubbleSort(int[] arr){
if(arr!=null&&arr.length>1){
int temp ;
for(int i=arr.length-1;i>1;i--){
for(int j=0;j<i;j++){
if(arr[j]>arr[j+1]){
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
}
//选择最小的,与左边元素交换,将小的放在左边
public static void selectSort(int[] arr){
int min;
int temp;
if(arr!=null&&arr.length>1){
for(int i=0;i<arr.length-1;i++){
min = i;
for(int j=i+1;j<arr.length;j++){
if(arr[j]<arr[min]){
min = j;
}
}
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
}
//选择一个左边有序,自己及自己右边无序的元素,如果左边的大于它,则向右移动,否则,插入这个元素
public static void insertSort(int[] arr){
if(arr!=null&&arr.length>1){
for(int i=1;i<arr.length;i++){
int temp = arr[i];
int index = i;
while(index>=0&&arr[index-1]>temp){
arr[index]=arr[index-1];
index--;
}
arr[index]= temp;
}
}
}
}
public static void main(String[] args){
int[] arr = {1,0,9,8,2,5,6,7,4,3};
print(arr);
selectSort(arr);
System.out.println();
print(arr);
bubbleSort(arr);
System.out.println();
print(arr);
insertSort(arr);
System.out.println();
print(arr);
}
private static void print(int[] arr){
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
}
//挨个交换,将最大的放在右边
public static void bubbleSort(int[] arr){
if(arr!=null&&arr.length>1){
int temp ;
for(int i=arr.length-1;i>1;i--){
for(int j=0;j<i;j++){
if(arr[j]>arr[j+1]){
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
}
//选择最小的,与左边元素交换,将小的放在左边
public static void selectSort(int[] arr){
int min;
int temp;
if(arr!=null&&arr.length>1){
for(int i=0;i<arr.length-1;i++){
min = i;
for(int j=i+1;j<arr.length;j++){
if(arr[j]<arr[min]){
min = j;
}
}
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
}
//选择一个左边有序,自己及自己右边无序的元素,如果左边的大于它,则向右移动,否则,插入这个元素
public static void insertSort(int[] arr){
if(arr!=null&&arr.length>1){
for(int i=1;i<arr.length;i++){
int temp = arr[i];
int index = i;
while(index>=0&&arr[index-1]>temp){
arr[index]=arr[index-1];
index--;
}
arr[index]= temp;
}
}
}
}
发表评论
文章已被作者锁定,不允许评论。
-
oracle 的 sequence
2010-06-24 16:57 681-- Create sequence create sequ ... -
简单的log4j.propertier配置
2010-01-27 16:46 845简单的log4j.properties配置,不详细解释了 使用 ... -
IO操作_读取Excel
2010-01-27 16:37 835import java.io.FileInputStream; ... -
IO操作_文件读取
2010-01-27 16:25 683import java.io.BufferedReader; ... -
队列学习小例子
2010-01-06 22:44 618public class Queue { private l ... -
栈学习简单小例子
2010-01-06 22:43 864public class ArrayStrack { pri ... -
对象排序简单小例子
2009-12-30 18:24 714public class ObjectSort { Pers ... -
简单的页面静态化
2009-12-29 14:26 641import java.io.BufferedReader; ... -
CSS基本语法(收藏)
2009-12-29 14:22 6891. 基本语法 CSS的定义是 ... -
配置weblogic.xml文件获得相关的servlet文件
2009-12-29 14:13 1800JSP的运行时,先把JSP翻译成对应的Servlet,再把Se ... -
eclipse启动参数设置
2009-12-29 13:33 1022-vm D:\Tools\JDK\jdk1.6.0_05\bi ... -
增加删除行
2009-12-29 13:25 459//被操作模板 <table id="hidd ... -
Filter学习
2009-12-29 12:29 529EncodeFilter,实现类如下 import java ... -
Js实用小技巧(摘抄)
2009-12-29 12:01 6871.document.write(""); ... -
常用的几个js小方法
2009-07-27 11:03 5631.这个是页面输入框的trim操作,很简单实用 String. ...
相关推荐
### 简单排序算法简介 #### 一、简单排序算法概述 在计算机科学领域,**排序算法**是一类非常基础且重要的算法。这类算法旨在将一组无序的数据按照特定的顺序进行排列。由于实际应用中往往需要处理大量的数据,...
在本资源中,我们主要探讨的是C++编程语言中的简单排序算法。这些算法是计算机科学的基础,对于理解和解决编程问题,特别是在数据处理和优化效率方面至关重要。"NOIP"(全国青少年信息学奥林匹克竞赛)和"信奥"指的...
《简单排序》 排序是计算机科学中的一项基本操作,它在数据处理、数据分析以及算法设计等领域都有着广泛的应用。本文将围绕“简单排序”这一主题,深入探讨几种常见的基础排序算法,包括冒泡排序、插入排序、选择...
简单排序是编程基础中的一个重要环节,它包括了基本的排序算法,如选择排序、插入排序、冒泡排序等。以下是对“1.10编程基础之简单排序(10题)--题目 有链接.pdf”文件内容的详细知识点说明。 1. 排序算法概述: ...
在这个主题中,我们将深入探讨VB中的简单排序算法,特别是如何处理文本框中的数字排序以及从字符串中提取数字进行排序。 1. **简单排序算法**: - **冒泡排序**:是最基础的排序方法,通过不断地比较相邻元素并...
链表的简单排序 链表是一种基本的数据结构,它由多个节点组成,每个节点都包含一个指向下一个节点的指针。今天,我们来讨论链表的简单排序。 链表的简单排序需要使用到链表的基本操作,包括链表的创建、遍历和排序...
利用C++向量的简单排序 本资源旨在介绍利用C++中的Vector实现简单排序的方法。该资源通过实例代码,详细地展示了如何使用Vector容器来存储整数,并使用选择排序算法对其进行排序。 知识点一:C++中的Vector容器 ...
自己写的三个排序算法的比较。快速排序、归并排序、简单排序 对三个排序算法所消耗时间进行统计,比较时间效率 程序是在Linux下用C写的,vc下并未做测试。
c++实验之一:简单插入排序 实现简单排序方法
本例子以"26.4简单排序的例子.xls"为载体,展示了如何按照“科目名称”的笔划顺序进行升序排序。 首先,打开Excel工作簿,可以看到一个包含多个科目名称的数据表。这些科目可能是学校课程、公司部门或其他需要排序...
题目一 简单排序方法 【问题描述】 简单排序算法主要包括冒泡排序、简单选择排序和直接插入排序,它们都是时间复杂度为的排序方法,需要熟练掌握。 【基本要求】 用随机函数产生10000(或更多)个整数(或浮点数...
本项目“简单排序法(C#)”聚焦于三种基本的排序算法:冒泡排序、选择排序和插入排序,这些都是C#编程初学者必须掌握的基本技能。 1. **冒泡排序**: 冒泡排序是一种简单的排序算法,通过重复遍历待排序的元素列表...
本文将深入探讨四种简单的排序算法:插入排序、冒泡排序、选择排序。这些算法虽然在复杂度上不如高级排序算法如快速排序或归并排序,但它们提供了基础的排序逻辑,有助于理解更复杂的算法思想。 首先,我们来详细...
本主题将深入探讨“java数组与简单排序”,涵盖有序数组、线性查找和二分法查找等核心概念。 有序数组是指数组中的元素按照特定顺序排列,例如升序或降序。在处理有序数组时,我们可以利用其特性来优化查找和操作...
本节我们将深入探讨时间复杂度、简单排序算法以及评估算法效率的方法。 时间复杂度是衡量算法运行时间与输入数据量之间的关系,通常用大O记法表示。常数操作,如赋值`int a = arr[i]`或基本算术运算`+-*/`、位运算...
在本压缩包文件"第四章 简单排序(C++)_codes(2020.06.04).rar"中,包含的是关于C++编程语言实现简单排序算法的相关代码。这些代码可能是为了帮助学习者理解并掌握基础的排序算法,特别是针对信息学竞赛(如信奥)和...
### 各种简单排序 #### 内容概览 本文主要介绍了几种常见的简单排序算法,包括冒泡排序、交换排序(通常指冒泡排序的一种变体)、选择排序以及插入排序。这些排序算法虽然效率不是最高,但它们的概念简单且易于...
在编程领域,排序算法是计算机科学中的基础概念,它用于对一组数据进行排列,以便于检索、分析或处理。在本主题中,我们将探讨如何使用C++类来实现不同的排序算法,并理解类在实现这些算法时的角色。我们将重点关注...