`

第05章 数组 08 练习6

    博客分类:
  • java
阅读更多

优化后的排序算法:

//TestNumberSort.java

public class TestNumberSort{
	public static void main(String args[]) {
		int a[] = new int[args.length];
		for(int i = 0; i < args.length; i++) {
			a[i] = Integer.parseInt(args[i]);
		}
		print(a);
		SelectionSort(a);
		print(a);
		/*
		int a[];
		a = new int[9];
		a[0] = Integer.parseInteger(args[0]);
		a[1] = Integer.parseInteger(args[1]);
		a[2] = Integer.parseInteger(args[2]);
		a[3] = Integer.parseInteger(args[3]);
		a[4] = Integer.parseInteger(args[4]);
		a[5] = Integer.parseInteger(args[5]);
		a[6] = Integer.parseInteger(args[6]);
		a[7] = Integer.parseInteger(args[7]);
		a[8] = Integer.parseInteger(args[8]);
		sort();
		for(int i = 0; i < a.length; i++) {
			System.out.print(a[i] + " ");
		}
		*/
	}
    
	/*
	private static void SelectionSort(int a[]) {
		for(int i = 0; i < a.length; i++) 
			for(int j=i+1; j<a.length; j++) {
				if(a[i] > a[j]) {
					int temp = a[i];
					a[i] = a[j];
					a[j] = temp;
				}
		}
	}
	*/

	private static void SelectionSort(int a[]) {
		int k,temp;
		for(int i = 0; i < a.length; i++) {
			k = i;
			for(int j = k; j<a.length; j++) {
				if(a[j] < a[k]) {
					k = j;
				}
			}
			if( k != i) {
				temp = a[i];
				a[i] = a[k];
				a[k] = temp;
			}
		}	
	}

    private static void print(int a[]) {
		for(int i = 0; i < a.length; i++) {
			System.out.print(a[i] + " ");
		}
		System.out.println();
	}
	/*
	public void sort() {
		int i = 0;
		int j;
		for(j = i + 1; j < a.length; i++, j++) {
				if(a[i] > a[j]) {
					int temp;
					temp = a[i];
					a[i] = a[j];
					a[j] = temp;
				}
		}
	}
	*/
}

小练习:

阅读下面的程序,任意初始化days数组,然后对days数组排序,再用折半查找法查找特定的Date对象day

//Test.java

public class Test {
	public static void main(String args[]) {
		Date[] days = new Date[10];
		Date day = new Date(2004, 4, 6);
	}
}

class Date {
	int day,month,year;
	Date(int y, int m, int y) {
		this.year = y;
		this.month = m;
		this.day = d;
	}

	public int compare(Date date) {
		return year > date.year ? 1 
			: year < date.year ? -1 
			: month > date.month ? 1
			: month < date.month ? -1
			: day > date.day ? 1
			: day < date.day ? -1 : 0;
	}
}


分享到:
评论

相关推荐

    数据结构练习(含答案):第五章数组和广义表.doc

    数据结构练习(含答案):第五章数组和广义表 本资源摘要信息涵盖了数据结构中数组和广义表的相关知识点,包括数组的基本操作、数组的存储方式、稀疏矩阵的压缩存储方法、对称矩阵的存储方式等。 一、选择题 1. ...

    计算机后端-Java-Java核心基础-第08章 数组 05. 二维数组练习:基本操作.avi

    计算机后端-Java-Java核心基础-第08章 数组 05. 二维数组练习:基本操作.avi

    第五章 数组、字符串与类库

    本章主要探讨了数组,特别是字符串以及类库的使用。 一、数组 1. 一维数组 - 定义与创建: - 方式一:先声明数组变量,再创建数组对象。如 `int a[];` 后跟 `a = new int[3];` - 方式二:同时定义并创建数组,...

    vb.net 第五章 数组

    在VB.NET编程中,数组是一种数据结构,它允许程序员存储同一类型的数据集合。数组提供了高效访问和操作一组数据的方式,而无需为每个元素创建独立的...记得练习编写不同类型的数组程序,以提高对数组操作的熟练程度。

    c语言数组练习题及答案

    该函数在数组`a[]`中查找连续五个元素均为奇数的情况,如果找到则选取其中最小的元素,并将这些最小元素存入`b[]`数组中,然后对该数组进行升序排序。 **解题思路**: - 遍历数组,检查每五个元素是否都是奇数。 - ...

    C++字符数组练习题及解答[归类].pdf

    本文档提供了五个C++字符数组练习题的解答,涵盖了字符串比较、字符串首尾互换、数字字符统计、字符串排序和删除指定字符等多个方面。这些问题可以帮助读者更好地掌握C++语言中的字符串处理和数组操作。 第 1 题:...

    第六章数组作业题.zip

    在本“第六章数组作业题”中,我们可以推测这是针对编程课程中关于数组部分的一次作业或练习,可能是C语言课程。从提供的文件名来看,我们有两个文件:一个源代码文件(张明辉数组作业.c)和一个可能包含问题解答或...

    C++Primer第五版 第3章 字符串变量和数组(练习解答)

    《C++ Primer》第五版是学习C++的权威指南,其中第三章详细介绍了这两个主题。本章旨在帮助读者理解和掌握如何在C++中有效地操作字符串和数组,以及它们在实际编程中的应用。 字符串在C++中被定义为字符的序列,它...

    C语言数组练编程习题

    ### C语言数组编程练习知识点详解 #### 知识点一:Fibonacci 数列的生成与打印 **题目概述:** 本题目要求使用C语言编写程序来生成并打印Fibonacci数列的前15项。 **代码解析:** 1. **初始化数组:** 使用整型...

    第五章数组与广义表.zip

    在计算机科学中,数组和广义表是两种重要的数据结构,它们被广泛应用于各种算法和程序设计中。数组提供了一种高效的方式来存储和访问数据,而广义表则是一种更灵活的数据表示方式,可以用来处理复杂的数据关系。 ...

    部编版第五章 数组与广义表.doc

    1. 对于一个二维数组A[6×8],每个元素占用6个字节,如果起始地址是1000,那么数组的总存储量(体积)可以通过计算元素数量乘以每个元素的大小得到,即6×8=48个元素,48个元素乘以6字节/元素等于288字节。...

    J2SE_5.0_第05章_数组1.rar

    提供的视频文件01_一维数组内存分析.avi可能详细解释了数组在内存中的存储方式,02_数组元素的创建和使用.avi则演示了数组的创建和元素操作,03_练习_1.avi、04_练习_2.avi和05_练习_3.avi可能是针对数组操作的实践...

    J2SE_5.0_第05章_数组3.rar

    《J2SE 5.0 第05章:数组3》是Java编程学习的重要章节,主要探讨了数组这一核心概念的深入应用。在Java中,数组是一种存储同一类型数据的集合,可以是一维、二维甚至是多维的。在这个章节中,我们将重点关注二维数组...

    自考数据结构第五章 多维数组

    自考数据结构第五章重点探讨了多维数组这一重要概念。多维数组是数组的一种扩展形式,它能够帮助我们处理二维或更高维度的数据,比如矩阵、图像等。在本章节中,我们将深入理解多维数组的定义、特性、存储方式以及...

    第6章-数组和字符串-练习题.pdf

    本资源摘要信息是关于数组和字符串的练习题,共15道选择题,涵盖了数组和字符串的基本概念、数组下标、数组初始化、数组元素访问、字符串数组、数组拷贝等知识点。 一、数组基本概念 * 数组是一种数据结构,用于...

    第五章 数组和广义表(2).pdf

    数组是一种常见的线性数据结构,用于存储一系列相同类型的数据。广义表则是线性表的一种推广,它不仅可以包含原子(单个数据项),还可以包含子表,使得数据结构更加复杂和灵活。 1. 数组与线性表的差异: - ...

    数组练习题Subject:数组

    数组练习题总结 数组是一种基本的数据结构,广泛应用于各种编程语言中。在 Java 中,数组是用于存储一组相同类型的元素的集合。下面是数组练习题的总结: 1. 排序算法 在数组练习题中,我们遇到了排序算法的应用...

    J2SE_5.0_第05章_数组2.rar

    《深入理解Java SE 5.0 第五章:数组2》 数组是Java编程语言中的基本数据结构之一,它在程序设计中起着至关重要的作用。本章将深入探讨Java SE 5.0中关于数组的高级特性和使用技巧,包括多维数组、数组作为方法参数...

    Labview应用技术 数组函数的练习(课堂实训).docx

    要获取特定位置的元素,如第五行第四列,可以使用“索引到数组元素”函数。给定行和列的索引,它将返回对应位置的值。 **五、截取子数组** 截取数组的一部分,可以使用“切片”或“子数组”函数。对于3行2列的子...

Global site tag (gtag.js) - Google Analytics