网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.经典J2EE开发工具-IBM Ecl.
.Java Servlet API说明文档(2.1a.
.EJB技术的数据库应用(1).
.运用J2EE创建灵活易扩展的企业应.
.怎样用servletrunner来运行Servl.
.用J2SE 1.4 进行 Internet 安全编.
.用Swing制作欢迎屏幕.
.在Applet中实现数字签名.
.Java人生:J2ee学习流程.
.JDBC 连接 各种数据库方法.
.用JavaBean数据组件集成JSF应用程.
.Mini Java编译器(四).
.进阶教程——Java网络编程.
.Java基础知识 Java中抽象类和接口.
.毫无意义的Java基础类恶作剧.
.字符.
.Java语言编程中更新XML文档的常用.
.使用JWSDP完成Web Service在java.
.在Java中将数据由UTF8转换成GB23.
.EJB介绍.

Java版本和C++版本简单Stack程序

发表日期:2008-1-5


现在对C++学习了一段时间,把C++的特性和Java做比较有很强烈的快感:P

自己写了两个版本的Stack:

Java版本:

源代码Stack.java
package org;
public class Stack ...{
public static class Link ...{

protected Object data;

protected Link next;

public Link(Object data, Link next) ...{
this.data = data;
this.next = next;
}
}

private Link head = null;

public void push(Object data) ...{
head = new Link(data, head);
}

public Object peek() ...{
return head.data;
}

public Object pop() ...{
if (head == null)
return null;
Object o = head.data;
head = head.next;
return o;
}

} 测试代码StackTest.java
package org;
import junit.framework.TestCase;

public class StackTest extends TestCase ...{

public void test1() ...{
Stack s = new Stack();

assertEquals(null, s.pop());

s.push("a");
s.push("b");

assertEquals("b", s.peek());
assertEquals("b", s.pop());
assertEquals("a", s.pop());

assertEquals(null, s.pop());
}

public void test2() ...{
Stack s = new Stack();

assertEquals(null, s.pop());

s.push(new Integer(1));
s.push(new Integer(2));

assertEquals(2, ((Integer)s.peek()).intValue());
assertEquals(2, ((Integer)s.pop()).intValue());
assertEquals(1, ((Integer)s.pop()).intValue());

assertEquals(null, s.pop());
}

}

C++版本:
源代码:
Stack.cpp
#include <fstream>
#include <iostream>
#include <string>
using namespace std;

class Stack ...{
strUCt Link ...{
Link* next;
void* data;
Link(void* dat, Link* nxt) : data(dat) ,next(nxt) ...{}
}*head;

public :
Stack() : head(0) ...{}

void push(void* data) ...{
head = new Link(data, head);
}

void* pop() ...{
if (head == 0)
return 0;
void* object = head->data;
Link* oldHead = head;
head = oldHead->next;
delete oldHead;
return object;
}

void* peek() ...{
return head ? head->data : 0;
}
};

int main() ...{
ifstream in("Stack.cpp");
Stack text;
string line;
while(getline(in, line))
text.push(new string(line));
string* s;
while((s = (string*)text.pop()) !

上一篇:Java入门:java类文件详解 人气:716
下一篇:用 Java ME 进行无线消息传递 人气:651
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐