`
yu06206
  • 浏览: 111505 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

队列和数组

阅读更多

.数组
1.数组是什么类型的存储结构
数组也是属于应用类型的一种。
数组是一种线性的存储结构。
//链式结构

2.实例化一维数组的格式

一种:数据类型 []  数组名 = new 数据类型[数组的长度];
二种: 数据类型 []  数组名 = {值列表};
三种:数据类型 []  数组名;
数组名 = new 数据类型[数组的长度];
四种:数据类型 []  数组名 = new 数据类型[]{值列表};
数据类型 []  数组名;
数组名 = new 数据类型[]{值列表};

3.对一维数组的操作,通过什么?
得到数组的长度:数组.length属性名;
数组的下标是用来获取相应位置的值。
数组名[下标];
数组的下标从0开始的。

4.实例化二维数组的格式
一种:数据类型 [][]  数组名 = new 数据类型[行数][列数];
二种: 数据类型 [][]  数组名 = {{值列表},......};
三种:数据类型 [][]  数组名;
数组名 = new 数据类型[行数][列数];
四种:数据类型 [][]  数组名 = new 数据类型[][]{{值列表},......};
数据类型 [][]  数组名;
数组名 = new 数据类型[][]{{值列表},......};

对二维数组的操作,通过什么?
得到二维数组的行数:数组.length属性名;
得到二维数组的列数:数组[下标].length属性名;
是否可以创建不规则的二维数组?
可以创建不规则的二维数组,用第二种格式。
数组的下标是用来获取相应位置的值。
数组名[行下标][列下标];
数组的下标从0开始的。

5.随机数类的使用

java.util.Random的一个类

数组的缺点?
1.数组的长度是固定。
2.数组只能存储同样的数据类型。

数组的优点?
运行速度快-->有序的,查找的速度快,直接通过下标来找相应的数据。
队列
1.为什么要使用队列
数组不能随意的添加或者删除空间。

2.如何实现队列
借助于数组和引用传递。

自定义队列就是用类来操作数组,将所有的操作用类封装起来,在类外是无法看到具体的操作

实现通用的队列
//自定义泛型队列的接口
public interface NetJavaList<E> {
//向队列中加一个对象
public void add(E e);
//向队列中指定位置插入一个对象
public void insert(E e, int index);
//取得的队列中指定位置的对象
public E get(int index);
//删除某位置对象
public E delete(int index);
//得到队列中的长度,及队列中元素的个数
public int size();
}
//实现的泛型队列
public class STList<E> implements NetJavaList<E>{
private Object[] srcA = new Object[0];
//向队列中加一个对象
public void add(E e){
Object[] destA = new Object[srcA.length+1];
destA[srcA.length]=e;
System.arraycopy(srcA, 0, destA, 0, srcA.length);
srcA=destA;
}
//向队列中指定位置插入一个对象
public void insert(E e, int index){
Object[] destA = new Object[srcA.length+1];
System.arraycopy(srcA, 0, destA, 0, srcA.length);
for(int i=index+1;i<destA.length;i++){
destA[i+1]=destA[i];
}
destA[index]=e;
srcA=destA;
}
//取得的队列中指定位置的对
public E get(int index){
E st = (E)srcA[index];
return st;
}
//删除某位置对象
public E delete(int index){

for(int i=index;i<srcA.length;i++){
srcA[i]=srcA[i+1];
}
}
//得到队列中的长度,及队列中元素的个数
public int size(){
return srcA.length;
}
}
找出二维数组中最大的一个数值
public class Twoarray {
public static void main(String[] args){
//定义一个二维数组
int[][] srcA = creat();
int t = cacular(srcA);
System.out.println("二维数组的最大值是:"+t);
//给数组中的每个元素赋值
public static int[][] creat(){
int ta[][] = new int[5][8];
for(int i=0;i<ta.length;i++){
for(int j=0;j<ta[i].length;j++){
java.util.Random ran = new java.util.Random();
int value =ran.nextInt(300)+200;
ta[i][j]=value;
}
}
return ta;
}

public static int cacular(int[][] x){
int max=x[0][0];
for(int i=0;i<ta.length;i++){
for(int j=0;j<x[i].length;j++){
if(max<x[i][j]){
max=x[i][j];
}
}

}
return max;
}


}
}

 

分享到:
评论

相关推荐

    栈、队列和数组.ppt

    栈、队列和数组是计算机科学中三种基本的数据结构,它们在编程中有着广泛的应用。在本篇中,我们将深入探讨这些概念以及如何在实际中实现它们。 **栈(Stack)**: 栈是一种特殊的线性数据结构,遵循“后进先出”...

    数据结构导论 栈、队列和数组

    数据结构导论 栈、队列和数组 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端(表尾)进行。

    计算机专业基础综合(栈、队列和数组)-试卷1.pdf

    计算机专业基础综合试卷1主要考察的是数据结构中的基础概念,特别是栈、队列和数组这三个基本数据结构。栈和队列是线性数据结构的两种重要类型,它们在计算机科学中有着广泛的应用。 1. 栈是一种“后进先出”(LIFO...

    数据结构考研讲义 第三章 栈、队列和数组.pdf

    数据结构考研讲义第三章栈、队列和数组 本资源主要介绍了栈、队列和数组这三种基本数据结构的概念、存储实现、基本操作和应用实例。栈是一种限制在表的一端进行插入和删除的线性表,允许插入、删除的这一端称为栈顶...

    考研 数据结构 第二章 栈队列和数组

    考研必备 数据结构 第二章 栈队列和数组 请使用IE浏览器观看! 欢迎下载!

    数据结构练习题-第三章-栈、队列和数组-习题及答案.doc

    数据结构练习题-第三章-栈、队列和数组-习题及答案.doc

    数据结构与算法PPT课件 DSChapter04 栈、队列和数组.ppt

    数据结构与算法PPT课件

    数据结构,队列的实现,包括链式和数组式

    在本教程中,我们将深入探讨队列的两种常见实现方式:链式队列和数组式队列,以及它们在C++语言中的应用。 首先,让我们了解队列的基本操作。队列通常包含以下操作: 1. 入队(Enqueue):在队尾添加元素。 2. 出队...

    数据结构C++ 顺序栈、链栈、循环队列、链队列的主要操作(Word文档含代码和注释)

    ### 数据结构C++:顺序栈、链栈、循环队列、链队列的主要操作 #### 一、概述 本文档提供了使用C++编程语言实现的数据结构中的栈与队列的操作详解,具体包括顺序栈、链栈、循环队列、链队列四种结构的基本操作,并...

    c语言数据结构-栈队列数组完美版资料.ppt

    本资源摘要信息主要关于C语言数据结构中的栈、队列和数组三个基本概念。栈是一种特殊的线性表,栈的定义是只能在一端插入和删除元素的线性表,特点是后进先出(LIFO)。栈的基本运算包括初始化、判栈空、判栈满、读...

    关于栈,队列和数组的初步认识

    通过以上介绍,我们可以看出,栈、队列和数组是编程中最基本且重要的数据结构之一。掌握它们的特性和操作方式,不仅能够帮助我们更好地理解和解决实际问题,还能为进一步学习更复杂的数据结构奠定坚实的基础。

    2013年新东方计算机考研数据结构强化班(共6讲)

    资源名称:2013年新东方计算机考研数据结构强化班(共6讲)资源目录 :【】强化理解部分第1章线性表.zip【】强化理解部分第2章栈、队列和数组.zip【】强化理解部分第3章树和二叉树.zip【】强化理解部分第4章图.zip...

    C语言_课程设计:银行排队系统.doc

    本系统的设计思想是模拟银行的排队系统,将顾客的到达和离开事件处理,并对队列和数组进行操作,以实现银行的业务流程。 8. C语言的应用 本系统使用C语言实现,演示了C语言在程序设计中的应用,包括数据结构、函数...

    java双端队列的实现-Java实现自定义双端队列(链表和数组两种方式) 数组和链表.pdf

    Java 双端队列的实现 Java 中的双端队列(Deque)是一种特殊的队列,能够在队列的两端进行元素的添加和删除...Java 实现自定义双端队列可以通过链表和数组两种方式实现,双端队列可以充当单端队列,也可以用于充当栈。

    数据结构购买飞机票问题

    本文章将深入探讨如何利用数据结构——特别是队列和数组——来设计一个飞机票购买系统,以实现快速响应、资源优化及提升用户体验。 #### 飞机票购买系统的数据结构基础 在飞机票购买系统中,数据结构的选择直接...

    王道数据结构+C语言版+超全笔记(图文)+个人整理版本

    三、栈、队列和数组 (一)栈和队列的基本概念 (二)栈和队列的顺序存储结构 (三)栈和队列的链式存储结构 (四)栈和队列的应用 (五)特殊矩阵的压缩存储 四、树与二叉树栈 (一)树的概念 (二)二叉树 1.二叉树的定义及其...

    零基础征服数据结构算法Python版2023

    分享一套python版的数据结构算法的视频教程——《零基础征服数据结构算法Python版》,2023年4月完结新课,提供配套的代码和课件...第3章 栈、队列和数组 第4章 字符串 第5章 树与二叉树 第6章 图 第7章 查找 第8章 排序

    计算机软件基础课后习题答案.pdf

    3. 栈、队列和数组:了解栈、队列和数组的概念和使用,包括栈的push和pop操作、队列的入队和出队操作等。 * 栈定义:栈是指后进先出(LIFO)的数据结构。 * 队列定义:队列是指先进先出(FIFO)的数据结构。 4. ...

    考研专业课-数据结构-思维导图

    打开方式:Freemind、幕布等思维导图软件  “数据结构”是计算机、...资源中包含数据结构绪论,线性表,栈、队列和数组,串,树与二叉树,即王道书前五章内容,均为本人考研过程中自己整理总结。后续内容会逐步更新。

    C++数据结构-计算二叉树最大的宽度

    总结起来,计算二叉树最大宽度的关键在于理解层次遍历的工作原理,并利用队列和数组有效地存储和处理数据。通过这样的方法,我们可以在O(n)的时间复杂度内解决这个问题,其中n是二叉树中的节点数。

Global site tag (gtag.js) - Google Analytics