• jQuery火箭图标返回顶部代码


    这个知识点不难,话不多说,直接上代码.

    代码如下:

     1 #include "stdafx.h"
     2 #include<iostream>
     3 #define SUCCESS 1
     4 #define UNSUCCESS 0
     5 #define HASHSIZE 12                    //定义散列表长为数组的长度
     6 #define NULLKEY -32768
     7 
     8 using namespace std;
     9 
    10 typedef struct {
    11     int *elem;
    12     int count;
    13 }HashTable;
    14 int m = 0;
    15 
    16 int InitHashTable(HashTable &H)        //初始化数列表
    17 {
    18     int i;
    19     m = HASHSIZE;
    20     H.count = m;
    21     H.elem = new int[m];
    22     for (i = 0; i < m; i++)
    23         H.elem[i] = NULLKEY;
    24     return 1;
    25 }
    26 
    27 int Hash(int key)                      //散列函数
    28 {
    29     return key % m;                    //除留余数法
    30 }
    31 
    32 void InsertHash(HashTable &H, int key) //求散列地址
    33 {
    34     int addr = Hash(key);
    35     while (H.elem[addr] != NULLKEY)    //如果不为空,则冲突
    36         addr = (addr + 1) % m;         //开放定址法的线性探测
    37     H.elem[addr] = key;                //知道有空位后插入关键字
    38 }
    39 
    40 int SearchHash(HashTable H, int key, int &addr)//散列表查找关键字
    41 {
    42     addr = Hash(key);                  //求散列地址
    43     while (H.elem[addr] != key)        //如果不为空,则冲突
    44     {
    45         addr = (addr + 1) % m;         //开放定址法的
    46         if (H.elem[addr + 1] == NULLKEY || addr == Hash(key))//如果循环回到原点
    47         {
    48             return UNSUCCESS;          //关键字不存在
    49         }
    50     }
    51     return SUCCESS;
    52 }
    53 
    54 
    55 int main()
    56 {
    57     int arr[HASHSIZE] = { 12,67,56,16,25,37,22,29,15,47,48,34 };
    58     int i, p, key, result;
    59     HashTable H;
    60     key = 39;
    61     InitHashTable(H);
    62     for (i = 0; i<m; i++)
    63         InsertHash(H, arr[i]);
    64     result = SearchHash(H, key, p);
    65     if (result)
    66         cout << "查找 " << key << " 的地址为: " << p << endl;
    67     else
    68         cout << "查找 " << key << " 失败。" << endl;
    69 
    70     for (i = 0; i<m; i++)
    71     {
    72         key = arr[i];
    73         SearchHash(H, key, p);
    74         cout << "查找 " << key << " 的地址为:" << p << endl;
    75     }
    76     return 0;
    77 }

    运行结果:

  • 相关阅读:
    OpenStack--Havana
    腾讯云万象优图每个账户提供50G的图片存储(支持黄图检测)
    Java 脚本化编程指南
    hive的表的基本操作
    如何搭建易企秀H5平台?
    HDU 4727-The Number Off of FFF
    审计厅审计云发展意见
    CNPM 遇到use strict的问题
    QA技术概览
    终端的CTRL+S 解说
  • 原文地址:https://www.cnblogs.com/Trojan00/p/9084414.html
Copyright © 2020-2023  润新知