• HashMap


    Node

    package DataStructures.HashMap.Hashing;
    
    class Node {
        int data;
        Node next;
    
        public Node(int data) {
            this.data = data;
            this.next = null;
        }
    }

    LinkedList

    package DataStructures.HashMap.Hashing;
    
    class LinkedList {
    
        private Node Head;
        private int size;
    
        public LinkedList() {
            Head = null;
            size = 0;
        }
    
        public void insert(int data) {
    
            Node temp = Head;
            Node newnode = new Node(data);
        
            size++;
    
            if(Head == null) {
                Head = newnode;
            }
            else {
                newnode.next = Head;
                Head = newnode;
            }
        }
    
        public void delete(int data) {
            if(size == 0) {
                System.out.println("UnderFlow!");
                return;
            }
    
            else {
                Node curr = Head;
                if (curr.data == data) {
                    Head = curr.next;
                    size--;
                    return;
                }
                else {
                    
                    while(curr.next.next != null) {
                        if(curr.next.data == data){
                                curr.next = curr.next.next;
                                return;
                            }
                    }
    
                    System.out.println("Key not Found");
                }
            }
        }
    
        public void display() {
            Node temp = Head;
            while(temp != null) {
                System.out.printf("%d ",temp.data);
                temp = temp.next;
            }
            System.out.println();
        }
    }

    HashMap

    package DataStructures.HashMap.Hashing;
    
    
    class HashMap {
        private int hsize;
        private LinkedList[] buckets;
    
        public HashMap(int hsize) {
            buckets = new LinkedList[hsize];
            for (int i = 0; i < hsize; i++) {
                buckets[i] = new LinkedList();
                // Java requires explicit initialisaton of each object
            }
            this.hsize = hsize;
        }
    
        public int hashing(int key) {
            int hash = key % hsize;
            if (hash < 0)
                hash += hsize;
            return hash;
        }
    
        public void insertHash(int key) {
            int hash = hashing(key);
            buckets[hash].insert(key);
        }
    
    
        public void deleteHash(int key) {
            int hash = hashing(key);
    
            buckets[hash].delete(key);
        }
    
        public void displayHashtable() {
            for (int i = 0; i < hsize; i++) {
                System.out.printf("Bucket %d :", i);
                buckets[i].display();
            }
        }
    
    }
    一个没有高级趣味的人。 email:hushui502@gmail.com
  • 相关阅读:
    windows关闭aslr办法
    linux关闭地址空间随机化(ASLR)
    Hadoop 2.7.2 集群搭建(转载)
    ssh免密码登录
    二、hadoop文件操作
    一、hadoop安装与配置
    转载model操作
    python实现线程池
    自定义django admin及其界面
    django管理界面使用与bootstrap模板使用
  • 原文地址:https://www.cnblogs.com/CherryTab/p/11997740.html
Copyright © 2020-2023  润新知