开篇:润墨网以专业的文秘视角,为您筛选了一篇数据结构在Java语言中的实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:通过实例详细分析了数据结构中数据和操作在java环境中的实现过程,从而学会编写更加高效的程序。
关键词:Java 数据结构 实现
中图分类号:TP312/G434 文献标识码:B 文章编号:1002-2422(2008)01-0038-02
1 数据结构抽象数据类型在Java中的实现
“数据结构”课程主要讨论表、栈、队列、串、数组、树和二叉树、图等典型的数据结构,这些结构就是一个个不同的抽象数据类型,用Java中的类可以实现。
类中的数据称为成员变量,对数据进行的操作称为成员方法。数据结构中的数据和在数据上的操作可用类成员变量和成员方法实现。
以栈为例具体说明数据结构中的抽象类型用JaVll中类的实现过程。栈根据存储结构不同在Java中创建了不同的类,如图1所示。
Java中类的思想:
{
}
栈中以链式存储类Stack2的具体实现如下:
package ds_java;
import ds_java.OndinkNode;
import ds_java.Onelink1;
public class Stack2 extends Onelink1 {
private OnelinkNode top;
public Stack2(){
top=null;}
public boolean isEmpty(){
return top==null;}
public boolean push(int k){
OnelinkNode q=new OnelinkNode(k):
q.nextffitop;
top=q;
return true;}
public im poP(){
int k=-1;
if(lisEmpty()){
k=top.data;
top=top.next;}
return k;}
public void output(){
super.output(top);}}
在Stack2栈类中使用了保存在ds_java包中的单链表结点类和单链表类实现了数据的存储,用类方法push(intk)、pop()、output()等实现了在数据上的操作算法,当然数据可以扩展,关系也可以扩展,这样可以用Java描述其他的数据结构。
2 具体问题的解决
对象的创建:对象是类的实例,对象是属于某个已知类,程序中一旦定义了类之后,那么创建的对象属于某个类,此对象就具有这个类的性质,就可以运用这个对象解决实际问题。如何运用现有的带结构的数据解决实际问题,以栈为例,编写把十进制正整数转换为十六进制数输出的算法。程序如下:
import ds_java.Stack2;
public class Tram{
public static void Transform(int num){
Stack2 s1=sew Stack2();
while(num!=O){
int k=num%16;
s1.push(k):
num=num/16;}
while(!s1.isEmpty()){
int x=s1.pop();
if(x
System.out.print(“”+x);
else{ switch(x){
case 10;
system.out.print(“A”);
break;
case 11;
system.out.print(“B”);
break;
case 12:
System.out.print(“c”):
break;
case 13;
system.out.print(“D”):
break;
case 14:
System.out.print(“E”);
break;
case 15;
System.out.print(“F”);
bieBk;}}}}
public static void main(Strlng Dars.){
int a=45;
if(args.1ength>0)
a=Integer.parseInt(args[0]);
Transform(a);}}
3 结束语
可以体会数据结构中对数据处理的方法,同时对面向对象的程序设计有更深入的理解,通过语言环境与数据结构两者之间的浸透,不仅学到了数据结构中对数据的处理方法:而且深化了对Java语言的运用,起到了基础课与专业课之间的桥梁作用。