`
ttsecret
  • 浏览: 3907 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

数组、自定义队列

J# 
阅读更多
一维数组的定义:
     1)数据类型  数组名[] = new 数据类型[长度];
  
    2)数据类型  数组名[] = {...};

    3)数据类型 数组名[] = new 数据类型[]{...};或
       数据类型 数组名[];
      数组名 = new 数据类型[长度];

二维数组的定义:
     1)数据类型 数组名[][] = new 数据类型[长度1][长度2];

    2)数据类型 数组名[][] = {...}{...};
   
    3)数据类型 数组名[][] = new 数据类型[][]{...}{...};

与数组相比,自定义队列相对就有更强的扩充性,可以向队列中无限制的加入自己定义的类型。自定义队列实质是自己定义的一个的一个类,类中有一个public类型的数组,并定义对这个数组进行增删查等方法。
package cn.javanet.array;
/**
 * 自定义队列:可以无限制的向队列中添加数据
 * 
 * @author  */
public class NetjavaList {
    //创建一个数组
	public int arrayone[]=new int [0];
	
	/**
	 * 返回自定义队列的长度
	 * @return 长度
	 */
	public int size(){
		return arrayone.length;
	}
	
	/**
	 * 得到指定位置的索引
	 * @param index:指定的索引位
	 * @return:返回指定索引的元素值
	 */
	public int get (int index){
		return arrayone[index];
	}
	
	/**
	 * 在数组的末尾添加一个元素
	 * a:添加的元素
	 */
	public void addone(int a){
		//重新创建一个数组
		int arraytwo[]= new int [arrayone.length+1];
		//讲原数组的值一一赋给新数组
		for(int i=0;i<arrayone.length;i++){
			arraytwo[i]=arrayone[i];
		}
		//将a插入新数组的末尾
		arraytwo[arrayone.length]=a;
		//讲新数组赋给arrayone
		arrayone=arraytwo;
	}
	
	/**
	 * 在指定位置添加指定的数据
	 * @param add:添加的元素值
	 * @param index:指定添加的位置
	 */
	public void add(int add,int index){
		//重新创建一个数组
		int array3[]=new int [arrayone.length+1];
		//将索引值前面的数据先赋给新数组
		for(int i=0;i<arrayone[index];i++){
			array3[i]=arrayone[i];
		}
		//加入add,并将剩下的元素一一赋值
		array3[index]=add;
		for(int i=index;i<arrayone.length;i++){
			array3[i+1]=arrayone[i];
		}
		//将新建的数组赋给arrayone
		arrayone=array3;
		
	}
	
	/**
	 * 将指定位置的元素移除
	 * @param index:指定的位置
	 */
	public void remove(int index){
		//新建一个数组
		int array4 []=new int [arrayone.length-1];
		//将索引值前面的数据先赋给新数组
		for(int i=0;i<arrayone[index];i++){
			array4[i]=arrayone[i];
		}
		//将索引值后面的数据赋给新数组
		for(int i=index+1;i<arrayone.length;i++){
			array4[i-1]=arrayone[i];
		}
		//将新建的数组赋给arrayone
		arrayone=array4;
	}
	
	/**
	 * 移除指定的内容
	 * @param a:移除的内容
	 */
	public void remove2(int a){
		int j=0;
		//新建一个数组
		int array5 []=new int [arrayone.length];
		//移除掉a
		for(int i=0;i<arrayone.length;i++){
			if(arrayone[i]!=a)
				{array5[j]=arrayone[i];
				 j++;
				}
		}
		//将新建的数组赋给arrayone
		arrayone=array5;
	}
	
	
}
分享到:
评论

相关推荐

    数据结构(数组型队列),内含源代码和教程MyDeque_Demo。支持自定义数据类型,支持访问队列中的任意元素。

    数据结构(数组型队列),内含源代码和教程MyDeque_Demo。支持自定义数据类型,支持访问队列中的任意元素。 使用教程参见 http://blog.csdn.net/michaelliang12/article/details/51325801

    数组和队列反转

    一个很简单适用的自定义编写的C#基础实现队列和反转数组,让你从最基础的C#来开始你的代码量的积累。

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

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

    自定义双端队列

    所谓双端队列(double-ended queue,deque),就是在...使用循环数组方式实现双端队列,要求实现上述操作,并实现一个Print输出操作, 能将队列由左至右的次序输出于一行,元素间用空格间隔。队列元素类型设为整型。

    易语言源码易语言自定义数据类型的内存存储方式.rar

    易语言源码易语言自定义数据类型的内存存储方式.rar 易语言源码易语言自定义数据类型的内存存储方式.rar 易语言源码易语言自定义数据类型的内存存储方式.rar 易语言源码易语言自定义数据类型的内存存储方式.rar ...

    c#高效的线程安全队列ConcurrentQueueT的实现

     .Net Farmework中的普通队列Queue的实现使用了第一种方式,缺点是当队列空间不足会进行扩容,扩容的主要实现是开辟一个原始长度2倍的新数组,然后将原始数组里面的数据复制到新数组中,所以当扩容时就会产生不小的...

    Free_Pascal教程

    Free_Pascal 教程总结 Free_Pascal 是一种功能强大且灵活的编程语言,广泛应用于软件开发领域。本教程旨在帮助初学者快速掌握 Free_Pascal 语言的基础...* 数据结构设计:包括数组、队列、栈和记录类型的设计和实现

    jQuery使用动画队列自定义动画操作示例

    本文实例讲述了jQuery使用动画队列自定义动画操作。分享给大家供大家参考,具体如下: jQuery的queue()方法和dequeue()方法配合使用,可以完成对函数队列的操作。 实现步骤: 1、新建一个函数数组,把动画函数依次放...

    在Visual Basic编程中堆栈和队列的应用

    VB中利用数组(尤其动态数组)和自定义数据类型(Type Statement)完全可以描述诸如链表、栈、队列和二叉树这样的结构,并实现排序、查找等运算

    第八次上机题目及参考代码.docx

    设计一个函数模板,实现两数的交换,并用不同数据类型的数据进行测试。 2.编写求一组数进行升序排序的函数模板...4.编写循环队列类模板,实现队列的初始化、入队、出队、判空操作,并建立一个整数队列和一个字符队列。

    用自定的ArrayList实现队列

    * 在之前自定义的动态数组基础上完成队列,动态数组中要添加删除方法 * * @author 大刘 */ public class Queue { private ArraysList arraysList; /** * 入队方法 * @param e 入队元素 */ public void ...

    leetcode算法题主函数如何写-Algorithm-DataStructure:算法-数据结构

    动态数组、链表、普通队列、栈、哈希表。 2.树形数据结构: (1)二叉树:二分搜索树、AVL(自平衡)、红黑树(统计性能高,自平衡,最常用)。 (2)堆(优先队列)、线段树。 (3)多叉树:Trie、并查集。 3.抽象数据结构: ...

    JAVA后端架构师.pdf

    4. 并发编程基础知识:操作系统并发支持、进程管理、内存管理、文件系统、IO系统、进程间通信、网络通信、阻塞队列、数组有界队列、链表无界队列、优先级有限无界队列、延时无界队列、同步队列、LBQ队列等。...

    在Visual-Basic编程中运用数据结构.doc

    本文讨论了在VB编程中利用数组和自定义数据类型构造链表、栈和队列等数据结构的方法;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

    轻松完成任务:一个简单,可自定义且轻量级的Promise队列

    一个简单,可自定义且轻量级的优先级队列,用于基于承诺的任务。 现在有类型!!! 非常感谢 :clinking_beer_mugs: 请参见以下示例,了解打字稿版本 入门 用npm安装 npm install task-easy --save 怎么运行的 ...

    ios-LHDB.zip

    一个返回的数组中是字典表示查询数据 一个返回的数组中是自定义model表示查询数据。 LHDB总共有4个类 LHDataBaseExecute 这个类主要是执行数据库操作 所有sql操作全部在这个类中 LHDataBaseOperation ...

    C++编程-数据结构与程序设计方法[美.D.S.Malik][中译本]

    不错的C++ 数据结构和算法教程 ...9. 数组和字符串 10.递归 11.结构 12.类和数据抽象 13.继承和组成 14.指针、类、表及虚函数 15.重载与模板 16.链表 17.栈和队列 18.查找和排序算法 19.二叉树 20.图 21.标准模板库

    生产消费者的同步问题源代码

    用同步对象、自定义计数信号量等四种方法实现生产者消费者共享有限缓冲区问题Vc++源代码...在此过程中,缓冲区容量有限,因此这个数组相当于一个循环队列,当生产者全部退出而且缓冲区已空的时候消费者也立即全部退出。

    开源一些单片机常用的小工具

    SoftTimer 适用于单片机的软定时器 ... 支持自定义时间节拍 支持任意时间的回调 支持任意时间下的任意次数回调(也...Queue 适用于单片机的消息队列(可用于中断发送消息到队列) 点击查看详情使用文档 ..............

    go语言LeetCode刷题最全手册

    结构体(Struct):不同类型的数据元素的集合,可以自定义类型。 链表(Linked List):一种常见的数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。 栈(Stack):先进后出的数据结构,只...

Global site tag (gtag.js) - Google Analytics