数据结构——符号表
Posted 364.99°
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构——符号表相关的知识,希望对你有一定的参考价值。
1.概述
符号表: 将一个键于一个值联系起来(键值对),可以通过键(key)来查找对应的值(value)。
2.符号表的实现
package symboltable;
public class SymbolTable<Key,Value>
//内部结点类
private class Node
//键
private Key key;
//值
private Value value;
//下一个结点
private Node next;
public Node(Key key, Value value, Node next)
this.key = key;
this.value = value;
this.next = next;
//首结点
private Node head;
//元素个数
private int N;
//构造器
public SymbolTable()
head = new Node(null,null,null);
N = 0;
//获取键值对数
public int size()
return N;
//插入键值对
public void put(Key key,Value value)
//表中有键为key的键值对
//查找key对应的位置
Node node = head;
while (node.next != null)
node = node.next;
if (node.key.equals(key))
//插入数据
node.value = value;
//结束方法
return;
//表中没有键为key的键值对
Node oldFirst = head.next;
Node newFIrst = new Node(key,value,oldFirst);
head.next = newFIrst;
//个数+1
N++;
//删除表中键为key的键值对
public void delete(Key key)
Node node = head;
while (node.next != null)
if (node.next.key.equals(key))
//调整指针域实现删除
node.next = node.next.next;
N--;
//结束方法
return;
node = node.next;
//获取表中对应key的值
public Value get(Key key)
Node node = head;
while (node.next != null)
node = node.next;
if (node.key.equals(key))
return node.value;
return null;
以上是关于数据结构——符号表的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 这个简单的代码片段显示了如何使用有符号整数在C中完成插值。 for()循环确定要插入的范围
2021-09-11:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。反转后整数超过 32 位的有符号整数的范围就返回0,假设环境不允许存储 64 位整数(有符号或无符号)。(代码片段