欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

棧和隊(duì)列代碼java 棧和隊(duì)列的定義及基本操作

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

public?interface?MyStackT?{

站在用戶的角度思考問題,與客戶深入溝通,找到饒平網(wǎng)站設(shè)計(jì)與饒平網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋饒平地區(qū)。

/**

?*?判斷棧是否為空

?*/

boolean?isEmpty();

/**

?*?清空棧

?*/

void?clear();

/**

?*?棧的長度

?*/

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;

/**

?*?棧的長度

?*/

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;

}

}

棧與隊(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中隊(duì)列和棧的區(qū)別

隊(duì)列(Queue):是限定只能在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線性表;

棧(Stack):是限定只能在表的一端進(jìn)行插入和刪除操作的線性表。

區(qū)別如下:

一、規(guī)則不同

1. 隊(duì)列:先進(jìn)先出(First In First Out)FIFO

2. 棧:先進(jìn)后出(First In Last Out )FILO

二、對插入和刪除操作的限定不同

1. 隊(duì)列:只能在表的一端進(jìn)行插入,并在表的另一端進(jìn)行刪除;

2. 棧:只能在表的一端插入和刪除。

三、遍歷數(shù)據(jù)速度不同

1.

隊(duì)列:基于地址指針進(jìn)行遍歷,而且可以從頭部或者尾部進(jìn)行遍歷,但不能同時(shí)遍歷,無需開辟空間,因?yàn)樵诒闅v的過程中不影響數(shù)據(jù)結(jié)構(gòu),所以遍歷速度要快;

2.

棧:只能從頂部取數(shù)據(jù),也就是說最先進(jìn)入棧底的,需要遍歷整個(gè)棧才能取出來,而且在遍歷數(shù)據(jù)的同時(shí)需要為數(shù)據(jù)開辟臨時(shí)空間,保持?jǐn)?shù)據(jù)在遍歷前的一致性。

新聞名稱:棧和隊(duì)列代碼java 棧和隊(duì)列的定義及基本操作
鏈接URL:http://chinadenli.net/article36/hjocsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站標(biāo)簽優(yōu)化建站公司網(wǎng)站導(dǎo)航搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)