Java版本和C++版本简单Stack程序 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-24
Java版本和C++版本简单Stack程序时间:2009-12-07现在对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()); } } Java版本和C++版本简单Stack程序(2)时间:2009-12-07C++版本: 源代码: 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()) != 0) ...{cout << *s << endl;delete s;}} |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Java版本和C++版本简单Stack程序 - 编程入门网的所有评论