真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

初始化棧的代碼java,棧的初始化C語(yǔ)言代碼

Java中實(shí)現(xiàn)棧時(shí)的問(wèn)題----------Java高手請(qǐng)進(jìn)

p2=p1不是Point對(duì)象賦值,而是引用賦值。這和C++不一樣。

在茌平等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都網(wǎng)站制作、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都營(yíng)銷(xiāo)網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,茌平網(wǎng)站建設(shè)費(fèi)用合理。

在java里邊,p1、p2、point和temp都是引用,而不是對(duì)象本身,引用就象C++的指針。上面的程序中,p2=p1的結(jié)果是,p2指向的對(duì)象和p1相同,他們都指向了p1=new Point()語(yǔ)句創(chuàng)建的對(duì)象。而Point p2=new Point(); 創(chuàng)建的對(duì)象,因?yàn)閜2不再引用它而變成垃圾,java會(huì)自動(dòng)刪除。

java的引用賦值就象C++的指針賦值,就類(lèi)似C++程序:

Point * p1=new Point();

Point * p2=new Point();

p2=p1;

所以你上面的程序也有這個(gè)問(wèn)題,temp=point;其實(shí)沒(méi)什么用,效果把Point temp=new mypoint(); 創(chuàng)建的對(duì)象刪除了,被壓棧的對(duì)象還是point,所以去掉這兩句,效果完全一樣。

如果你想復(fù)制一個(gè)新對(duì)象壓棧,應(yīng)該用java的clone方法,

temp=point.clone();

不過(guò)Point必須實(shí)現(xiàn)Clonable接口,并且正確實(shí)現(xiàn)它。

用java代碼編寫(xiě)堆棧?

參看: 1 import java.util.*; 2 3 public class TestStack { 4 public static void main(String[] args) { 5 Stack stack = new Stack(); 6 7 for(int i = 0; i 10; i++) { 8 stack.push(new Integer(i)); 9 }1011 if(!stack.empty()) {12 System.out.println(stack.pop());13 }14 }15 }

用java編寫(xiě)出來(lái):用數(shù)組實(shí)現(xiàn)一個(gè)棧

public class Stack {

private Object[] stack;

//這個(gè)不需要;

//private int top = 0; //初始化棧頂

//這個(gè)也不需要;

//寫(xiě)一個(gè)棧出來(lái),最好是可以動(dòng)態(tài)的,可以自己改變大小的,即數(shù)組的長(zhǎng)度;

//private int size = 0; // 初始化大小

//元素個(gè)數(shù);

private int size;

//默認(rèn)長(zhǎng)度為10;

public Stack(){

this(10);

}

//也可以自己設(shè)置長(zhǎng)度,即容量;

public Stack(int len){

stack = new Object[len];

}

//返回元素個(gè)數(shù);

public int size(){

return size;

}

//返回?cái)?shù)組長(zhǎng)度,即容量;

public int capacity(){

return stack.length;

}

//實(shí)現(xiàn)動(dòng)態(tài)的數(shù)組;

public void ensureCapacity(){

if(size() == capacity()){

Object[] newStack = new Object[size() * 3 / 2 + 1];

System.arraycopy(stack, 0, newStack, 0, size());

stack = newStack;

}

}

//入棧;

public void push(Object o){

size++;

ensureCapacity();

stack[size - 1] = o;

}

/*

public void push(Object object) {

if (isFull()) {

System.out.println("棧滿(mǎn)! 入棧失敗");

}

stack[top++] = object;

}

*/

//判空;

public boolean isEmpty(){

return size == 0;

}

//出棧;

public Object pop(){

//首先要判空;

if(isEmpty()){

throw new ArrayIndexOutOfBoundsException("不能為空");

}

Object o = stack[--size];

stack[size] = null;

return o;

}

/*

// 出棧

public Object pop() {

Object object = stack[--top];

stack[top] = null;

return object;

}

*/

/*

// 計(jì)算棧當(dāng)前大小

public int size() {

return top;

}

// 判斷是否是空棧

public boolean isEmpey() {

return top == 0;

}

// 判斷是否棧滿(mǎn)

public boolean isFull() {

return top = size;

}

public Stack(int size) {

this.size = size;

}

*/

public static void main(String[] args) {

Stack stack = new Stack(3);

String[] data = new String[] { "a", "b", "c" };

for (int i = 0; i data.length; i++) {

stack.push(data[i]);

System.out.println(data[i] + "");

}

System.out.println("***********");

while (!stack.isEmpty()) {

System.out.println(stack.pop() + "");

}

//}

}

}

你自己對(duì)比一下,我是在你的里面修改的

Java中棧的使用

和C++里面一樣,有入棧,彈棧,查找函數(shù)

import java.util.*;(引入包含棧類(lèi)的頭文件)

相關(guān)函數(shù)介紹

boolean empty()

測(cè)試堆棧是否為空。

E peek()

查看堆棧頂部的對(duì)象,但不從堆棧中移除它。

E pop()

移除堆棧頂部的對(duì)象,并作為此函數(shù)的值返回該對(duì)象。

E push(E item)

把項(xiàng)壓入堆棧頂部。

int search(Object o)

返回對(duì)象在堆棧中的位置,以 1 為基數(shù)。

怎么用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)步。


本文名稱(chēng):初始化棧的代碼java,棧的初始化C語(yǔ)言代碼
轉(zhuǎn)載注明:http://weahome.cn/article/hdppdh.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部