最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
java代碼實(shí)現(xiàn)棧和隊(duì)列 Java棧和隊(duì)列

用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列,且用JAVA程序語(yǔ)言編寫(xiě),求思路和結(jié)果

隊(duì)列是先進(jìn)先出~ 棧是先進(jìn)后出 比如 stack1 和 stack2 來(lái)實(shí)現(xiàn)queue

創(chuàng)新互聯(lián)主要從事做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)洱源,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):18982081108

對(duì)于queue來(lái)說(shuō) 進(jìn)入的數(shù)據(jù)順序比如是 1,2,3,4,5 出來(lái)順序也是 1,2,3,4,5

用stack實(shí)現(xiàn)的話可以 數(shù)據(jù)進(jìn)去的時(shí)候用stack1來(lái)存 存完后出來(lái)的順序是 5,4,3,2,1 這跟queue的順序不一樣,所以需要stack2 ,將stack1的數(shù)據(jù)一個(gè)個(gè)輸出存到stack2中,這樣stack2中的數(shù)據(jù)也就是1,2,3,4,5了,跟queue一樣 過(guò)程中要注意你現(xiàn)在數(shù)據(jù)時(shí)用stack1來(lái)存還是stack2來(lái)存。

怎樣用2個(gè)棧實(shí)現(xiàn)隊(duì)列(java)

隊(duì)列的要求是先進(jìn)先出,用兩個(gè)棧可以很容易的實(shí)現(xiàn)

假設(shè)其中一個(gè)棧為s1, 另一個(gè)為s2

1. 入隊(duì):將元素放入s1中,s2始終為空

2. 出隊(duì):

1). 首先將s1中的元素全部導(dǎo)入s2的棧中,清空s1,

2). 然后再將s2棧頂元素出棧,保留下來(lái),

3). 將s2剩余元素導(dǎo)入s1中,恢復(fù)數(shù)據(jù)原有順序,就可以了

至于代碼,自己想想就能寫(xiě)出來(lái)

怎么用java代碼實(shí)現(xiàn)棧內(nèi)存?

使用java.util包中的Stack類(lèi)創(chuàng)建一個(gè)棧對(duì)象

public Object push(Object data);輸入數(shù)據(jù),實(shí)現(xiàn)壓棧

public Object pop();輸出數(shù)據(jù),實(shí)現(xiàn)彈棧

public boolean empty()判空

public Object peek();查看棧頂元素

可以去查查API嘛

我也是學(xué)java的,大家一起進(jìn)步。

棧與隊(duì)列的實(shí)現(xiàn)(java)

import java.util.Stack;

public class Translate {

//程序入口

public static void main(String[]args){

int n = Translate.translate(3467,8);

System.out.println("結(jié)果是:"+n);

}

public static int translate(int number, int base_num) {

//使用棧

StackIntegerstack = new StackInteger();

while(number0){

//壓棧

stack.push(number % base_num);

number /= base_num;

}

int n = stack.size();

int val=0;

//依次出棧并合成結(jié)果(用我們熟悉的十進(jìn)制表示,所以乘以10)

for(int i=0;in;i++){

val=val*10+stack.pop();

}

return val;

}

}

跪求用JAVA語(yǔ)言實(shí)現(xiàn)一個(gè)棧和一個(gè)隊(duì)列,數(shù)據(jù)元素為double型。。。具體在問(wèn)題補(bǔ)充里

public?interface?MyStackT?{

/**

?*?判斷棧是否為空

?*/

boolean?isEmpty();

/**

?*?清空棧

?*/

void?clear();

/**

?*?棧的長(zhǎng)度

?*/

int?length();

/**

?*?數(shù)據(jù)入棧

?*/

boolean?push(T?data);

/**

?*?數(shù)據(jù)出棧

?*/

T?pop();

}

public?class?MyArrayStackT?implements?MyStackT?{

private?Object[]?objs?=?new?Object[16];

private?int?size?=?0;

@Override

public?boolean?isEmpty()?{

return?size?==?0;

}

@Override

public?void?clear()?{

//?將數(shù)組中的數(shù)據(jù)置為null,?方便GC進(jìn)行回收

for?(int?i?=?0;?i??size;?i++)?{

objs[size]?=?null;

}

size?=?0;

}

@Override

public?int?length()?{

return?size;

}

@Override

public?boolean?push(T?data)?{

//?判斷是否需要進(jìn)行數(shù)組擴(kuò)容

if?(size?=?objs.length)?{

resize();

}

objs[size++]?=?data;

return?true;

}

/**

?*?數(shù)組擴(kuò)容

?*/

private?void?resize()?{

Object[]?temp?=?new?Object[objs.length?*?3?/?2?+?1];

for?(int?i?=?0;?i??size;?i++)?{

temp[i]?=?objs[i];

objs[i]?=?null;

}

objs?=?temp;

}

@SuppressWarnings("unchecked")

@Override

public?T?pop()?{

if?(size?==?0)?{

return?null;

}

return?(T)?objs[--size];

}

@Override

public?String?toString()?{

StringBuilder?sb?=?new?StringBuilder();

sb.append("MyArrayStack:?[");

for?(int?i?=?0;?i??size;?i++)?{

sb.append(objs[i].toString());

if?(i?!=?size?-?1)?{

sb.append(",?");

}

}

sb.append("]");

return?sb.toString();

}

}

//棧的鏈表實(shí)現(xiàn)

public?class?MyLinkedStackT?implements?MyStackT?{

/**

?*?棧頂指針

?*/

private?Node?top;

/**

?*?棧的長(zhǎng)度

?*/

private?int?size;

public?MyLinkedStack()?{

top?=?null;

size?=?0;

}

@Override

public?boolean?isEmpty()?{

return?size?==?0;

}

@Override

public?void?clear()?{

top?=?null;

size?=?0;

}

@Override

public?int?length()?{

return?size;

}

@Override

public?boolean?push(T?data)?{

Node?node?=?new?Node();

node.data?=?data;

node.pre?=?top;

//?改變棧頂指針

top?=?node;

size++;

return?true;

}

@Override

public?T?pop()?{

if?(top?!=?null)?{

Node?node?=?top;

//?改變棧頂指針

top?=?top.pre;

size--;

return?node.data;

}

return?null;

}

/**

?*?將數(shù)據(jù)封裝成結(jié)點(diǎn)

?*/

private?final?class?Node?{

private?Node?pre;

private?T?data;

}

}


文章題目:java代碼實(shí)現(xiàn)棧和隊(duì)列 Java棧和隊(duì)列
文章位置:http://fisionsoft.com.cn/article/hidgde.html