数据结构在Java语言中的实现

来源 :电脑学习 | 被引量 : 0次 | 上传用户:leimu438
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:通过实例详细分析了数据结构中数据和操作在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<10)
  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语言的运用,起到了基础课与专业课之间的桥梁作用。
其他文献
一、从B栏中找出与A栏相匹配的答语。  A B  ( )1. Will students study at school? A. It will be bigger.  ( )2. Will there be robots at people’s homes? B. Yes, there will.  ( )3. What will Wuhan be like? C. I don’t agree.
1. I’m fourteen and often go to the grocery1 store to sell eggs with Mum.  我十四岁了,经常帮妈妈把鸡蛋拿到杂货店去卖。  2. Then we look at the shotgun and leather shoes in the shop window, but do not have enough money.  然
Hello!I am Liu Yifan. I am very happy today!Today is Saturday. I go to the Hushan Park with my friends. The park is big and beautiful. There are many interesting things in the park. We are excited. We
(满分:100分)    Part One 听力部分 (20分)    Ⅰ. 听录音,选出你所听到的单词。读一遍。(每小题1分,共5分)  ( )1. A. elephants B. penguins C. giraffes  ( )2. A. freindlyB. beautifulC. smart  ( )3. A. AustraliaB. ChinaC. Africa  ( )4. A. k
一、从B栏中找出与A栏句子相对应的答语。  [A  ( )1. What time do you go to school?  ( )2. What time is it?  ( )3. Thanks for your pen.  ( )4. What do you do after you get up?  ( )5. Do you want to know about my school?] 
The film will be set in the head of a young girl, Riley Anderson, where five emotions—joy, anger, disgust, fear and sadness—try to lead the girl through her life. After Riley Anderson moves to a new h
对外语学习者来说,字典是必不可少的一种工具书。在学习的各个阶段,学习者都经常使用到包括纸质版和电子版在内的各种字典。但实际上,很多学习者在学习过程中都会不知不觉犯一种错误,那就是过度依赖字典,而且他们并不觉得自己的这种行为有问题。下面我们就来谈谈这个行为对英语学习的影响。  Fluency1  流利度  If you stop and look in your dictionary every t
摘要:以一实用电路为例,对KA351l的特点进行阐述,并对常见故障进行分析。  关键词:过压保护 欠压保护 软启动 过流保护PS-ON  中图分类号:TM405 文献标识码:A 文章编号:1002-2422(2008)03-0091-02    1 KA3511的特点    KA351l的主要特点:(1)固定频率、可变占空比电压型PWM控制,类似TL494(2)只需少量外部元件,就可以组成独立,性
编 者 注  《诸神之战2》不仅仅是一部呈现视觉奇观的奇幻大片,而是会像雷德利·斯科特的《角斗士》那样,是一部波澜壮阔、震撼人心的史诗巨作,各种新登场的神兽巨怪一一现形……小朋友们,不要被那些怪兽吓到了哦!    在《诸神之战 1》中击败了哈迪斯之后,珀尔修斯藏身于一个小渔村,带着10岁的儿子一起生活。与此同时,天神宙斯与泰坦之间的战事升级,卷土重来的哈迪斯联合宙斯之子“战神”阿瑞斯与宙斯的生
Ⅰ. 判断单词和汉语意思是(T)否(F)相符。(2 ’× 6 = 12分)  Ⅱ. 小蝴蝶要去找小蜜蜂玩。它在路上遇到了哪些单词呢?写下来吧!(8分)     Ⅲ. 选词填空。(2 ’× 5 = 10分)  1. It’s_________________bigger.  2. It’s big_________________strong.  3. Jim is older_________