c++用size求数组大小_Java:用数组实现队列

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

以下Java代码显示了如何在不使用Java的任何额外数据结构的情况下实现队列。我们可以使用数组来实现队列。

eee84de34adb195ffa91e86bd6a990a5.png

导入 java.lang.reflect.Array ;导入 java.util.Arrays ;公共 类队列< E >  {
E [ ] arr ;INT头= - 1 ;INT尾= - 1 ;整数大小;公共队列(类< E > c,int大小) {
E [ ] newInstance = ( E [ ] ) 数组。newInstance ( c,size );这个。arr = newInstance ;这个。大小 = 0 ;}布尔推送( ëë ) {如果 (大小==。ARR 长度)返回 假;
头= (头+ 1 ) % arr。长度;
arr [头] = e ;
大小++;如果(尾巴== - 1 ){
尾巴=头;}返回 true ;}布尔值 pop () {if ( size == 0 ) {返回 false ;}
E结果= arr [尾] ;
arr [ tail ] = null ;
大小-;
尾巴= (尾巴+ 1 )% arr。长度;如果 (大小== 0 ) {
头= - 1 ;
尾= - 1 ;}返回 true ;}
E peek (){if ( size == 0 )返回 null ;返回 arr [ tail ] ;}public int size () {返回 此值。大小;}public String toString () {返回 数组。的ToString (此。常用3 );}公共 静态 无效主(字符串[ ] ARGS ) {
队列<整数> q = 新队列<整数> (整数。类,5 );
q。推(1 );
q。推(2 );
q。推(3 );
q。推(4 );
q。推(5 );
q。pop ();
q。推(6 );系统。出来。println ( q );}}
4389b3adef884e5f4b631e82da5ba1d3.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值