HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務(wù)案例
NEWS 熱點資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    chainnode(chainnode下載)

    發(fā)布時間:2023-03-13 01:28:03     稿源: 創(chuàng)意嶺    閱讀: 147        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于chainnode的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    ChatGPT國內(nèi)免費在線使用,能給你生成想要的原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    你只需要給出你的關(guān)鍵詞,它就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端,官網(wǎng):https://ai.de1919.com

    本文目錄:

    chainnode(chainnode下載)

    一、存儲多個鏈表頭指針的指針數(shù)組該怎么樣做?

    typedef struct Node

    {

    int b;

    char a[12];

    struct Node *next;

    }LinkNode;

    對這樣一個結(jié)構(gòu)

    你可以 這樣定義一個chain數(shù)組來存放LinkNode指針

    LinkNode (*chain)[10];

    chain[0]指向第一個LinkNode結(jié)構(gòu)(當然 指向的是頭結(jié)點)

    chain[1]指向第一個LinkNode結(jié)構(gòu)

    依次類推

    二、關(guān)于電腦部件的英語單詞,我急用!

    PC:個人計算機Personal Computer

    ·CPU:中央處理器Central Processing Unit

    ·CPU Fan:中央處理器的“散熱器”(Fan)

    ·MB:主機板MotherBoard

    ·RAM:內(nèi)存Random Access Memory,以PC-代號劃分規(guī)格,如PC-133,PC-1066,PC-2700

    ·HDD:硬盤Hard Disk Drive

    ·FDD:軟盤Floopy Disk Drive

    ·CD-ROM:光驅(qū)Compact Disk Read Only Memory

    ·DVD-ROM:DVD光驅(qū)Digital Versatile Disk Read Only Memory

    ·CD-RW:刻錄機Compact Disk ReWriter

    ·VGA:顯示卡(顯示卡正式用語應(yīng)為Display Card)

    ·AUD:聲卡(聲卡正式用語應(yīng)為Sound Card)

    ·LAN:網(wǎng)卡(網(wǎng)卡正式用語應(yīng)為Network Card)

    ·MODM:數(shù)據(jù)卡或調(diào)制解調(diào)器Modem

    ·HUB:集線器

    ·WebCam:網(wǎng)絡(luò)攝影機

    ·Capture:影音采集卡

    ·Case:機箱

    ·Power:電源

    ·Moniter:屏幕,CRT為顯像管屏幕,LCD為液晶屏幕

    ·USB:通用串行總線Universal Serial Bus,用來連接外圍裝置

    ·IEEE1394:新的高速序列總線規(guī)格Institute of Electrical and Electronic Engineers

    ·Mouse:鼠標,常見接口規(guī)格為PS/2與USB

    ·KB:鍵盤,常見接口規(guī)格為PS/2與USB

    ·Speaker:喇叭

    ·Printer:打印機

    ·Scanner:掃描儀

    ·UPS:不斷電系統(tǒng)

    ·IDE:指IDE接口規(guī)格Integrated Device

    Electronics,IDE接口裝置泛指采用IDE接口的各種設(shè)備

    ·SCSI:指SCSI接口規(guī)格Small Computer System

    Interface,SCSI接口裝置泛指采用SCSI接口的各種設(shè)備

    ·GHz:(中央處理器運算速度達)Gega赫茲/每秒

    ·FSB:指“前端總線(Front Side Bus)”頻率,以MHz為單位

    ·ATA:指硬盤傳輸速率AT

    Attachment,ATA-133表示傳輸速率為133MB/sec

    ·AGP:顯示總線Accelerated Graphics

    Port,以2X,4X,8X表示傳輸頻寬模式

    ·PCI:外圍裝置連接端口Peripheral Component Interconnect

    ·ATX:指目前電源供應(yīng)器的規(guī)格,也指主機板標準大小尺寸

    ·BIOS:硬件(輸入/輸出)基本設(shè)置程序Basic Input Output System

    ·CMOS:儲存BIOS基本設(shè)置數(shù)據(jù)的記憶芯片Complementary Metal-Oxide Semiconductor

    ·POST:開機檢測Power On Self Test

    ·OS:操作系統(tǒng)Operating System

    ·Windows:窗口操作系統(tǒng),圖形接口

    ·DOS:早期文字指令接口的操作系統(tǒng)

    ·fdisk:“規(guī)劃硬盤扇區(qū)”-DOS指令之一

    ·format:“硬盤扇區(qū)格式化”-DOS指令之一

    ·setup.exe:“執(zhí)行安裝程序”-DOS指令之一

    ·Socket:插槽,如CPU插槽種類有SocketA,Socket478等等

    ·Pin:針腳,如ATA133硬盤排線是80Pin,如PC2700內(nèi)存模塊是168Pin

    ·Jumper:跳線(短路端子)

    ·bit:位(0與1這兩種電路狀態(tài)), 計算機數(shù)據(jù)最基本的單位

    ·Byte:字節(jié),等于8 bit(八個位的組合,共有256種電路狀態(tài)),計算機一個文字以8 bit來表示

    ·KB:等于1024 Byte

    ·MB:等于1024 KB

    ·GB:等于1024 MB

    Active-matrix主動距陳

    Adapter cards適配卡

    Advanced application高級應(yīng)用

    Analytical graph分析圖表

    Analyze分析

    Animations動畫

    Application software 應(yīng)用軟件

    Arithmetic operations算術(shù)運算

    Audio-output device音頻輸出設(shè)備

    Access time存取時間

    access存取

    accuracy準確性

    ad network cookies廣告網(wǎng)絡(luò)信息記錄軟件

    Add-ons附軟件

    Address地址

    Agents代理

    Analog signals模擬信號

    Applets程序

    Asynchronous communications port異步通信端口

    Attachment附件

    B

    Bar code條形碼

    Bar code reader條形碼讀卡器

    Basic application基礎(chǔ)程序

    Binary coding schemes二進制譯碼方案

    Binary system二進制系統(tǒng)

    Bit比特

    Browser瀏覽器

    Bus line總線

    Backup tape cartridge units備份磁帶盒單元

    Bandwidth帶寬

    Bluetooth藍牙

    Broadband寬帶

    Browser瀏覽器

    Business-to-business企業(yè)對企業(yè)電子商務(wù)

    Business-to-consumer企業(yè)對消費者

    Bus總線

    C

    Cables連線

    Cell單元箱

    Chain printer鏈式打印機

    Character and recognition device字符標識識別設(shè)備

    Chart圖表

    Chassis支架

    Chip芯片

    Clarity清晰度

    Closed architecture封閉式體系結(jié)構(gòu)

    Column列

    Combination key結(jié)合鍵

    computer competency計算機能力

    connectivity連接,結(jié)點

    Continuous-speech recognition system連續(xù)語言識別系統(tǒng)

    Control unit操縱單元

    Cordless or wireless mouse無線鼠標

    Cable modems有線調(diào)制解調(diào)器

    carpal tunnel syndrome腕骨神經(jīng)綜合癥

    CD-ROM可記錄光盤

    CD-RW可重寫光盤

    CD-R可記錄壓縮光盤

    Channel信道

    Chat group談話群組

    chlorofluorocarbons(CFCs) ]氯氟甲烷

    Client客戶端

    Coaxial cable同軸電纜

    cold site冷戰(zhàn)

    Commerce servers商業(yè)服務(wù)器

    Communication channel信道

    Communication systems信息系統(tǒng)

    Compact disc rewritable

    Compact disc光盤

    computer abuse amendments act of 19941994計算機濫用法案

    computer crime計算機犯罪

    computer ethics計算機道德

    computer fraud and abuse act of 1986計算機欺詐和濫用法案

    computer matching and privacy protection act of 1988計算機查找和隱私保護法案

    Computer network計算機網(wǎng)絡(luò)

    computer support specialist計算機支持專家

    computer technician計算機技術(shù)人員

    computer trainer計算機教師

    Connection device連接設(shè)備

    Connectivity連接

    Consumer-to-consumer個人對個人

    cookies-cutter programs信息記錄截取程序

    cookies信息記錄程序

    cracker解密高手

    cumulative trauma disorder積累性損傷錯亂

    Cybercash電子現(xiàn)金

    Cyberspace計算機空間

    cynic憤世嫉俗者

    D

    Database數(shù)據(jù)庫

    database files數(shù)據(jù)庫文件

    Database manager數(shù)據(jù)庫管理

    Data bus數(shù)據(jù)總線

    Data projector數(shù)碼放映機

    Desktop system unit臺式電腦系統(tǒng)單元

    Destination file目標文件

    Digital cameras數(shù)碼照相機

    Digital notebooks數(shù)字筆記本

    Digital bideo camera數(shù)碼攝影機

    Discrete-speech recognition system不連續(xù)語言識別系統(tǒng)

    Document文檔

    document files文檔文件

    Dot-matrix printer點矩陣式打印機

    Dual-scan monitor雙向掃描顯示器

    Dumb terminal非智能終端

    data security數(shù)據(jù)安全

    Data transmission specifications數(shù)據(jù)傳輸說明

    database administrator數(shù)據(jù)庫管理員

    Dataplay數(shù)字播放器

    Demodulation解調(diào)

    denial of service attack拒絕服務(wù)攻擊

    Dial-up service撥號服務(wù)

    Digital cash數(shù)字現(xiàn)金

    Digital signals數(shù)字信號

    Digital subscriber line數(shù)字用戶線路

    Digital versatile disc數(shù)字化通用磁盤

    Digital video disc數(shù)字化視頻光盤

    Direct access直接存取

    Directory search目錄搜索

    disaster recovery plan災(zāi)難恢復(fù)計劃

    Disk caching磁盤驅(qū)動器高速緩存

    Diskette磁盤

    Disk磁碟

    Distributed data processing system分部數(shù)據(jù)處理系統(tǒng)

    Distributed processing分布處理

    Domain code域代碼

    Downloading下載

    DVD 數(shù)字化通用磁盤

    DVD-R 可寫DVD

    DVD-RAM DVD隨機存取器

    DVD-ROM 只讀DVD

    E

    e-book電子閱讀器

    Expansion cards擴展卡

    end user終端用戶

    e-cash電子現(xiàn)金

    e-commerce電子商務(wù)

    electronic cash電子現(xiàn)金

    electronic commerce電子商務(wù)

    electronic communications privacy act of1986電子通信隱私法案

    encrypting加密術(shù)

    energy star能源之星

    Enterprise computing企業(yè)計算化

    environment環(huán)境

    Erasable optical disks可擦除式光盤

    ergonomics人類工程學(xué)

    ethics道德規(guī)范

    External modem外置調(diào)制解調(diào)器

    extranet企業(yè)外部網(wǎng)

    F

    Fax machine傳真機

    Field域

    Find搜索

    FireWire port port火線端口

    Firmware固件

    Flash RAM閃存

    Flatbed scanner臺式掃描器

    Flat-panel monitor純平顯示器

    floppy disk軟盤

    Formatting toolbar格式化工具條

    Formula公式

    Function函數(shù)

    fair credit reporting act of 1970公平信用報告法案

    Fiber-optic cable光纖電纜

    File compression文件壓縮

    File decompression文件解壓縮

    filter過濾

    firewall防火墻

    firewall防火墻

    Fixed disk固定硬盤

    Flash memory閃存

    Flexible disk可折疊磁盤

    Floppies磁盤

    Floppy disk軟盤

    Floppy-disk cartridge磁盤盒

    Formatting格式化

    freedom of information act of 1970信息自由法案

    frustrated受挫折

    Full-duplex communication全雙通通信

    G

    General-purpose application通用運用程序

    Gigahertz千兆赫

    Graphic tablet繪圖板

    green pc綠色個人計算機

    H

    handheld computer手提電腦

    Hard copy硬拷貝

    hard disk硬盤

    hardware硬件

    Help幫助

    Host computer主機

    Home page主頁

    Hyperlink超鏈接

    hacker黑客

    Half-duplex communication半雙通通信

    Hard disk硬盤

    Hard-disk cartridge硬盤盒

    Hard-disk pack硬盤組

    Head crash磁頭碰撞

    header標題

    help desk specialist幫助辦公專家

    helper applications幫助軟件

    Hierarchical network層次型網(wǎng)絡(luò)

    history file歷史文件

    hits匹配記錄

    horizontal portal橫向用戶

    hot site熱戰(zhàn)

    Hybrid network混合網(wǎng)絡(luò)

    hyperlinks超連接

    I

    Image capturing device圖像獲取設(shè)備

    information technology信息技術(shù)

    Ink-jet printer墨水噴射印刷機

    Integrated package綜合性組件

    Intelligent terminal智能終端設(shè)備

    Intergrated circuit集成電路

    Interface cards接口卡

    Internal modem內(nèi)部調(diào)制解調(diào)器

    internet telephony網(wǎng)絡(luò)電話

    internet terminal互聯(lián)網(wǎng)終端

    Identification識別

    i-drive網(wǎng)絡(luò)硬盤驅(qū)動器

    illusion of anonymity匿名幻想

    index search索引搜索

    information pushers信息推送器

    initializing 初始化

    instant messaging計時信息

    internal hard disk內(nèi)置硬盤

    Internal modem內(nèi)部調(diào)制解調(diào)器

    Internet hard drive 網(wǎng)絡(luò)硬盤驅(qū)動器

    intranet企業(yè)內(nèi)部網(wǎng)

    J

    joystick操縱桿

    K

    keyword search關(guān)鍵字搜索

    L

    laser printer激光打印機

    Layout files版式文件

    Light pen光筆

    Locate定位

    Logical operations邏輯運算

    Lands凸面

    Line of sight communication視影通信

    Low bandwidth低帶寬

    lurking潛伏

    M

    Main board主板

    Mark sensing標志檢測

    Mechanical mouse機械鼠標

    Memory內(nèi)存

    Menu菜單

    Menu bar菜單條

    Microprocessor微處理器

    Microseconds微秒

    Modem card調(diào)制解調(diào)器

    Monitor顯示器

    Motherboard主板

    Mouse 鼠標

    Multifunctional device多功能設(shè)備

    Magnetic tape reels磁帶卷

    Magnetic tape streamers磁帶條

    mailing list郵件列表

    Medium band媒質(zhì)帶寬

    metasearch engine整合搜索引擎

    Microwave微波

    Modem解調(diào)器

    Modulation解調(diào)

    由于不能寫那么多只好到這了/

    N

    Net PC網(wǎng)絡(luò)計算機

    Network adapter card網(wǎng)卡

    Network personal computer網(wǎng)絡(luò)個人電腦

    Network terminal 網(wǎng)絡(luò)終端

    Notebook computer筆記本電腦

    Notebook system unit筆記本系統(tǒng)單元

    Numeric entry數(shù)字輸入

    na?ve天真的人

    national information infrastructure protection act of1996國際信息保護法案

    national service provider全國性服務(wù)供應(yīng)商

    Network architecture網(wǎng)絡(luò)體系結(jié)構(gòu)

    Network bridge網(wǎng)橋

    Network gateway網(wǎng)關(guān)

    network manager網(wǎng)絡(luò)管理員

    newsgroup新聞組

    no electronic theft act of1997無電子盜竊法

    Node節(jié)點

    Nonvolatile storage非易失性存儲

    O

    Object embedding對象嵌入

    Object linking目標鏈接

    Open architecture開放式體系結(jié)構(gòu)

    Optical disk光盤

    Optical mouse光電鼠標

    Optical scanner光電掃描儀

    Outline大綱

    off-line browsers離線瀏覽器

    Online storage聯(lián)機存儲

    P

    palmtop computer掌上電腦

    Parallel ports并行端口

    Passive-matrix被動矩陣

    PC card個人計算機卡

    Personal laser printer個人激光打印機

    Personal video recorder card個人視頻記錄卡

    Photo printer照片打印機

    Pixel像素

    Platform scanner平版式掃描儀

    Plotter繪圖儀

    Plug and play即插即用

    Plug-in boards插件卡

    Pointer指示器

    Pointing stick指示棍

    Port端口

    Portable scanner便攜式掃描儀

    Presentation files演示文稿

    Presentation graphics電子文稿程序

    Primary storage主存

    Procedures規(guī)程

    Processor處理機

    Programming control lanugage程序控制語言

    Packets數(shù)據(jù)包

    Parallel data transmission平行數(shù)據(jù)傳輸

    Peer-to-peer network system得等網(wǎng)絡(luò)系統(tǒng)

    person-person auction site個人對個人拍賣站點

    physical security物理安全

    Pits凹面

    plug-in插件程序

    Polling輪詢

    privacy隱私權(quán)

    proactive主動地

    programmer程序員

    Protocols協(xié)議

    provider供應(yīng)商

    proxy server代理服務(wù)

    pull products推取程序

    push products推送程序

    R

    RAM cache隨機高速緩沖器

    Range范圍

    Record記錄

    Relational database關(guān)系數(shù)據(jù)庫

    Replace替換

    Resolution分辨率

    Row行

    Read-only只讀

    Reformatting重組

    regional service provider區(qū)域性服務(wù)供應(yīng)商

    repetitive motion injury反復(fù)性動作損傷

    reverse directory反向目錄

    right to financial privacy act of 1979財產(chǎn)隱私法案

    Ring network環(huán)形網(wǎng)絡(luò)

    S

    Scanner掃描器

    Search查找

    Secondary storage device助存儲設(shè)備

    Semiconductor半導(dǎo)體

    Serial ports串行端口

    Server服務(wù)器

    Shared laser printer共享激光打印機

    Sheet表格

    Silicon chip硅片

    Slots插槽

    Smart card智能卡

    Soft copy軟拷貝

    Software suite軟件協(xié)議

    Sorting排序分類

    Source file源文件

    Special-purpose application專用文件

    Spreadsheet電子數(shù)據(jù)表

    Standard toolbar標準工具欄

    Supercomputer巨型機

    System cabine 系統(tǒng)箱

    System clock時鐘

    System software系統(tǒng)軟件

    Satellite/air connection services衛(wèi)星無線連接服務(wù)

    search engines搜索引擎

    search providers搜索供應(yīng)者

    search services 搜索服務(wù)器

    Sectors扇區(qū)

    security安全

    Sending and receiving devices發(fā)送接收設(shè)備

    Sequential access順序存取

    Serial data transmission單向通信

    signature line簽名檔

    snoopware監(jiān)控軟件

    software copyright act of1980軟件版權(quán)法案

    software piracy軟件盜版

    Solid-state storage固態(tài)存儲器

    specialized search engine專用搜索引擎

    spiders網(wǎng)頁爬蟲

    spike尖峰電壓

    Star network星型網(wǎng)

    Strategy方案

    subject主題

    subscription address預(yù)定地址

    Superdisk超級磁盤

    surfing網(wǎng)上沖浪

    surge protector浪涌保護器

    systems analyst系統(tǒng)分析師

    T

    Table二維表

    Telephony電話學(xué)

    Television boards電視擴展卡

    Terminal 終端

    Template模板

    Text entry文本輸入

    Thermal printer 熱印刷

    Thin client瘦客

    Toggle key觸發(fā)鍵

    Toolbar工具欄

    Touch screen觸摸屏

    Trackball追蹤球

    TV tuner card電視調(diào)諧卡

    Two-state system雙狀態(tài)系統(tǒng)

    technical writer技術(shù)協(xié)作者

    technostress重壓技術(shù)

    telnet遠程登錄

    Time-sharing system分時系統(tǒng)

    Topology拓撲結(jié)構(gòu)

    Tracks磁道

    traditional cookies傳統(tǒng)的信息記錄程序

    Twisted pair雙絞線

    U

    Unicode統(tǒng)一字符標準

    uploading上傳

    usenet世界性新聞組網(wǎng)絡(luò)

    V

    Virtual memory虛擬內(nèi)存

    Video display screen視頻顯示屏

    Voice recognition system聲音識別系統(tǒng)

    vertical portal縱向門戶

    video privacy protection act of 1988視頻隱私權(quán)保護法案

    virus checker病毒檢測程序

    virus病毒

    Voiceband音頻帶寬

    Volatile storage易失性存儲

    voltage surge沖擊性電壓

    W

    Wand reader 條形碼讀入

    Web 網(wǎng)絡(luò)

    Web appliance 環(huán)球網(wǎng)設(shè)備

    Web page網(wǎng)頁

    Web site address網(wǎng)絡(luò)地址

    Web terminal環(huán)球網(wǎng)終端

    Webcam攝像頭

    What-if analysis假定分析

    Wireless revolution無線革命

    Word字長

    Word processing文字處理

    Word wrap自動換行

    Worksheet file 工作表文件

    web auctions網(wǎng)上拍賣

    web broadcasters網(wǎng)絡(luò)廣播

    web portals門戶網(wǎng)站

    web sites網(wǎng)站

    web storefront creation packages網(wǎng)上商店創(chuàng)建包

    web storefronts網(wǎng)上商店

    web utilities網(wǎng)上應(yīng)用程序

    web-downloading utilities網(wǎng)頁下載應(yīng)用程序

    webmaster web站點管理員

    web萬維網(wǎng)

    Wireless modems無線調(diào)制解調(diào)器

    wireless service provider無線服務(wù)供應(yīng)商

    world wide web萬維網(wǎng)

    worm蠕蟲病毒

    Write-protect notch寫保護口

    其他縮寫

    DVD digital bersatile 數(shù)字化通用光盤

    IT ingormation technology信息技術(shù)

    CD compact disc 壓縮盤

    PDA personal digital assistant個人數(shù)字助理

    RAM random access memory隨機存儲器

    WWW World Wide Web 萬維網(wǎng)

    DBMS database management system數(shù)據(jù)庫管理系統(tǒng)

    HTML Hypertext Markup Language超文本標示語言

    OLE object linking and embedding對象鏈接潛入

    SQL structured query language結(jié)構(gòu)化查詢語言

    URL uniform resouice locator統(tǒng)一資源定位器

    AGP accelerated graphics port加速圖形接口

    ALU arithmetic-logic unit算術(shù)邏輯單元

    CPU central processing unit中央處理器

    CMOS complementary metal-oxide semiconductor互補金屬氧化物半導(dǎo)體

    CISC complex instruction set computer復(fù)雜指令集計算機

    HPSB high performance serial bus高性能串行總線

    ISA industry standard architecture工業(yè)標準結(jié)構(gòu)體系

    PCI peripheral component interconnect外部設(shè)備互連總線

    PCMCIA Personal Memory Card International Association個人計算機存儲卡國際協(xié)會

    RAM random-access memory隨機存儲器

    ROM read-only memory只讀存儲器

    USB universal serial bus通用串行總線

    CRT cathode-ray tube陰極射線管

    HDTV high-definition television高清晰度電視

    LCD liquid crystal display monitor液晶顯示器

    MICRmagnetic-ink character recognition磁墨水字符識別器

    OCR optical-character recognition光電字符識別器

    OMR optical-mark recognition光標閱讀器

    TFT thin film transistor monitor薄膜晶體管顯示器

    其他

    Zip disk壓縮磁盤

    Domain name system(DNS)域名服務(wù)器

    file transfer protocol(FTP)文件傳送協(xié)議

    hypertext markup language(HTML)超文本鏈接標識語言

    Local area network(LAN)局域網(wǎng)

    internet relay chat(IRC)互聯(lián)網(wǎng)多線交談

    Metropolitan area network(MAN)城域網(wǎng)

    Network operation system(NOS)網(wǎng)絡(luò)操作系統(tǒng)

    uniform resource locator(URL)統(tǒng)一資源定位器

    Wide area network(WAN)廣域網(wǎng)

    三、建立雙向鏈表 實現(xiàn)對雙向鏈表的插入 刪除操作·

    #include <iostream>

    using namespace std;

    struct Node

    {

    int data; //節(jié)點中的數(shù)據(jù) 結(jié)構(gòu)體Node的成員變量

    Node* next; //指向下一節(jié)點的指針,習(xí)慣用next命名 結(jié)構(gòu)體Node的成員變量

    Node( const int& d=int() ) //結(jié)構(gòu)體也可以有構(gòu)造函數(shù) ,d=T()來指定默認值

    :data(d),next(NULL) //用構(gòu)造函數(shù)來初始化成員變量data和指針

    {} //所有數(shù)據(jù)類型,默認初始化都為0,這里data默認初始化為0

    };

    class Chain //封裝鏈表

    {

    private: //數(shù)據(jù)成員通常都是private的

    Node* head; //首先,我們要一個Node型的指針來保存鏈表的第一個節(jié)點;

    int length; //再用一個整型變量來記錄當前鏈表內(nèi)的節(jié)點數(shù)

    public:

    Chain() //在構(gòu)造函數(shù)里建立一個空鏈表,即head指向NULL

    :head(NULL),length(0){} //節(jié)點數(shù)為0;

    //當我們在類中定義函數(shù)時(不是聲明),相當于在前面加上一個inline修飾

    void delall() //這個函數(shù)用來刪除鏈表中的所有節(jié)點

    {

    Node* pdel; //定義一個Node型指針用來保存要刪除的節(jié)點

    while( head != NULL ) //當head的指向不為NULL時,就是鏈表中還存在節(jié)點

    {

    pdel = head; //這里備份head的當前指向節(jié)點

    head = head->next; //把head的指向改變?yōu)橄乱还?jié)點

    delete pdel; //把head的原指向給刪除掉

    } //如此一直下去,尾節(jié)點的next肯定是指向NULL的,那刪除最后一個的時候

    //head就被賦值為NULL,不滿足循環(huán)條件,退出循環(huán)

    length = 0; //把節(jié)點數(shù)歸零

    }

    ~Chain(){ delall(); } //在析構(gòu)函數(shù)中調(diào)用delall函數(shù),來完成對象銷毀時清理工作

    //這樣一個鏈表必須具備的功能就實現(xiàn)了。下面我們來實現(xiàn)他的增、刪、查、改功能

    Node*& getpoint( int position ) //對鏈表的操作,其實全部通過指針來實現(xiàn)的,

    { //那就需要定義一個函數(shù)來返回當前節(jié)點的指針(引用)

    if( position<0 || position>length ) //對節(jié)點編號進行合法檢查

    position = length; //如果是非法節(jié)點編號,那么就把他修改為最后一個節(jié)點編號

    if( position==0 ) //如果編號為0,那就是第一個節(jié)點了,

    return head; //直接返回head就是指向第一個節(jié)點的,注意返回的是head本身

    Node* head_bak = head; //如果編號合法并且不是第一個節(jié)點,就開始遍歷鏈表

    for( int i=1; i < position; i++ ) //為什么不直接用head

    { //注意這里修改的是成員變量。你把head改了,以后到哪找鏈表

    //我們都是通過head一個一個的往下找節(jié)點的。head被修改了。后果顯而易見

    head_bak = head_bak->next; //通過備份的指針來遍歷到指定編號前一個節(jié)點

    } //i不從0開始,減少運算,提高效率

    return head_bak->next; //這里如果返回head_bak的話。那就是需要的前一個節(jié)點了

    }

    void insert( const int& data, int position ) //如果不修改參數(shù)的話,使用引用做參數(shù)的時候,最好加上const

    {

    Node* pin = new Node(data); //需要調(diào)用Node的構(gòu)造函數(shù)

    pin->next = getpoint(position); //把指定位置的指針返回給新節(jié)點的指針

    //也就是說,把新的節(jié)點的next指向原來這個位置的節(jié)點。

    getpoint(position) = pin; //getpoint()返回的是引用,我們可以直接修改它

    //前面的一個節(jié)點的next指向我們新的節(jié)點。

    length++; //鏈表的節(jié)點數(shù)+1

    }

    int del( const int& data )

    {

    int position = find(data);

    if( position !=-1 ) //-1代表沒找到

    {

    Node* &pnext = getpoint(position); //用getponit()來獲得指定節(jié)點的指向信息

    Node* pbak = pnext; //用來備份節(jié)點的指向信息

    pnext = pnext->next; //把next指向改為下下個節(jié)點。

    delete pbak;

    length--;

    }

    return position;

    }

    //把<<重載,直接輸出鏈表

    friend ostream& operator<<( ostream& os, const Chain& oc )

    {

    Node* phead = oc.head;

    os << "[ ";

    while( phead !=NULL ) //判斷是否到尾節(jié)點

    {

    os << phead->data << ' ';

    phead = phead->next;

    }

    os << "] "; //這個函數(shù),應(yīng)該沒什么好說的了

    return os; //如果還是不理解,當成固定模式去背吧

    }

    };

    void show()

    {

    cout << "******************************" << endl;

    cout << "2- 向鏈表內(nèi)添加節(jié)點(數(shù)據(jù),節(jié)點號)" << endl;

    cout << "3- 刪除鏈表內(nèi)某一個數(shù)據(jù)(數(shù)據(jù))" << endl;

    cout << "0- 退出" << endl;

    cout << "******************************" << endl;

    }

    int main()

    {

    Chain link;

    int position, data, choice, data_new;

    while( choice != 0 )

    {

    show();

    cout << "請選擇:";

    cin >> choice;

    switch ( choice )

    {

    case 2 :

    cout << "請輸入要插入的數(shù)據(jù)和插入位置:" ;

    cin >> data >> position;

    link.insert( data,position );

    cout << link << endl;

    break;

    case 3 :

    cout << "請輸入要刪除的數(shù)據(jù):";

    cin >> data;

    link.del( data );

    cout << link << endl;

    break;

    default :

    break;

    }

    }

    }

    四、阿里sentinel源碼解析

    sentinel是阿里巴巴開源的流量整形(限流、熔斷)框架,目前在github擁有15k+的star,sentinel以流量為切入點,從流量控制、熔斷降級、系統(tǒng)負載保護等多個維度保護服務(wù)的穩(wěn)定性。

    我們以sentinel的主流程入手,分析sentinel是怎么搜集流量指標,完成流量整形的。

    首先我們先看一個sentinel的簡單使用demo,只需要調(diào)用SphU.entry獲取到entry,然后在完成業(yè)務(wù)方法之后調(diào)用entry.exit即可。

    SphU.entry會調(diào)用Env.sph.entry,將name和流量流向封裝成StringResourceWrapper,然后繼續(xù)調(diào)用entry處理。

    進入CtSph的entry方法,最終來到entryWithPriority,調(diào)用InternalContextUtil.internalEnter初始化ThreadLocal的Context,然后調(diào)用lookProcessChain初始化責任鏈,最終調(diào)用chain.entry進入責任鏈進行處理。

    InternalContextUtil.internalEnter會調(diào)用trueEnter方法,主要是生成DefaultNode到contextNameNodeMap,然后生成Context設(shè)置到contextHolder的過程。

    lookProcessChain已經(jīng)做過優(yōu)化,支持spi加載自定義的責任鏈bulider,如果沒有定義則使用默認的DefaultSlotChainBuilder進行加載。默認加載的slot和順序可見鎮(zhèn)樓圖,不再細說。

    最后來到重頭戲chain.entry進入責任鏈進行處理,下面會按照順序分別對每個處理器進行分析。

    首先來到NodeSelectorSlot,主要是獲取到name對應(yīng)的DefaultNode并緩存起來,設(shè)置為context的當前節(jié)點,然后通知下一個節(jié)點。

    下一個節(jié)點是ClusterBuilderSlot,繼續(xù)對DefaultNode設(shè)置ClusterNode與OriginNode,然后通知下一節(jié)點。

    下一個節(jié)點是LogSlot,只是單純的打印日志,不再細說。

    下一個節(jié)點是StatisticSlot,是一個后置節(jié)點,先通知下一個節(jié)點處理完后,

    1.如果沒有報錯,則對node、clusterNode、originNode、ENTRY_NODE的線程數(shù)、通過請求數(shù)進行增加。

    2.如果報錯是PriorityWaitException,則只對線程數(shù)進行增加。

    3.如果報錯是BlockException,設(shè)置報錯到node,然后對阻擋請求數(shù)進行增加。

    4.如果是其他報錯,設(shè)置報錯到node即可。

    下一個節(jié)點是FlowSlot,這個節(jié)點就是重要的限流處理節(jié)點,進入此節(jié)點是調(diào)用checker.checkFlow進行限流處理。

    來到FlowRuleChecker的checkFlow方法,調(diào)用ruleProvider.apply獲取到資源對應(yīng)的FlowRule列表,然后遍歷FlowRule調(diào)用canPassCheck校驗限流規(guī)則。

    canPassCheck會根據(jù)rule的限流模式,選擇集群限流或者本地限流,這里分別作出分析。

    passLocalCheck是本地限流的入口,首先會調(diào)用selectNodeByRequesterAndStrategy選出限流的node,然后調(diào)用canPass進行校驗。

    selectNodeByRequesterAndStrategy會根據(jù)以下規(guī)則選中node。

    1.strategy是STRATEGY_DIRECT。

    1.1.limitApp不是other和default,并且等于orgin時,選擇originNode。

    1.2.limitApp是other,選擇originNode。

    1.3.limitApp是default,選擇clusterNode。

    2.strategy是STRATEGY_RELATE,選擇clusterNode。

    3.strategy是STRATEGY_CHAIN,選擇node。

    選擇好對應(yīng)的node后就是調(diào)用canPass校驗限流規(guī)則,目前sentinel有三種本地限流規(guī)則:普通限流、勻速限流、冷啟動限流。

    普通限流的實現(xiàn)是DefaultController,就是統(tǒng)計當前的線程數(shù)或者qps加上需要通過的數(shù)量有沒有大于限定值,小于等于則直接通過,否則阻擋。

    勻速限流的實現(xiàn)是RateLimiterController,使用了AtomicLong保證了latestPassedTime的原子增長,因此停頓的時間是根據(jù)latestPassedTime-currentTime計算出來,得到一個勻速的睡眠時間。

    冷啟動限流的實現(xiàn)是WarmUpController,是sentinel中最難懂的限流方式,其實不太需要關(guān)注這些復(fù)雜公式的計算,也可以得出冷啟動的限流思路:

    1.當qps已經(jīng)達到溫熱狀態(tài)時,按照正常的添加令牌消耗令牌即可。

    2.當qps處于過冷狀態(tài)時,會添加令牌使得算法繼續(xù)降溫。

    3.當qps逐漸回升,大于過冷的邊界qps值時,不再添加令牌,慢慢消耗令牌使得逐漸增大單位時間可通過的請求數(shù),讓算法繼續(xù)回溫。

    總結(jié)出一點,可通過的請求數(shù)跟令牌桶剩余令牌數(shù)量成反比,以達到冷啟動的作用。

    接下來是集群限流,passClusterCheck是集群限流的入口,會根據(jù)flowId調(diào)用clusterSerivce獲取指定數(shù)量的token,然后根據(jù)其結(jié)果判斷是否通過、睡眠、降級到本地限流、阻擋。

    接下來看一下ClusterService的處理,會根據(jù)ruleId獲取到對應(yīng)的FlowRule,然后調(diào)用ClusterFlowChecker.acquireClusterToken獲取結(jié)果返回。ClusterFlowChecker.acquireClusterToken的處理方式跟普通限流是一樣的,只是會將集群的請求都集中在一個service中處理,來達到集群限流的效果,不再細說。

    FlowSlot的下一個節(jié)點是DegradeSlot,是熔斷處理器,進入時會調(diào)用performChecking,進而獲取到CircuitBreaker列表,然后調(diào)用其tryPass校驗是否熔斷。

    來到AbstractCircuitBreaker的tryPass方法,主要是判斷熔斷器狀態(tài),如果是close直接放行,如果是open則會校驗是否到達開啟halfopen的時間,如果成功將狀態(tài)cas成halfopen則繼續(xù)放行,其他情況都是阻攔。

    那怎么將熔斷器的狀態(tài)從close變成open呢?怎么將halfopen變成close或者open呢?sentinel由兩種熔斷器:錯誤數(shù)熔斷器ExceptionCircuitBreaker、響應(yīng)時間熔斷器ResponseTimeCircuitBreaker,都分析一遍。

    當業(yè)務(wù)方法報錯時會調(diào)用Tracer.traceEntry將報錯設(shè)置到entry上。

    當調(diào)用entry.exit時,會隨著責任鏈來到DegradeSlot的exit方法,會遍歷熔斷器列表調(diào)用其onRequestComplete方法。

    ExceptionCircuitBreaker的onRequestComplete會記錄錯誤數(shù)和總請求數(shù),然后調(diào)用handleStateChangeWhenThresholdExceeded繼續(xù)處理。

    1.當前狀態(tài)是open時,不應(yīng)該由熔斷器底層去轉(zhuǎn)換狀態(tài),直接退出。

    2.當前狀態(tài)是halfopen時,如果沒有報錯,則將halfopen變成close,否則將halfopen變成open。

    3.當前狀態(tài)時close時,則根據(jù)是否總請求達到了最低請求數(shù),如果達到了話再比較錯誤數(shù)/錯誤比例是否大于限定值,如果大于則直接轉(zhuǎn)換成open。

    ExceptionCircuitBreaker的onRequestComplete會記錄慢響應(yīng)數(shù)和總請求數(shù),然后調(diào)用handleStateChangeWhenThresholdExceeded繼續(xù)處理。

    1.當前狀態(tài)是open時,不應(yīng)該由熔斷器底層去轉(zhuǎn)換狀態(tài),直接退出。

    2.當前狀態(tài)是halfopen時,如果當前響應(yīng)時間小于限定值,則將halfopen變成close,否則將halfopen變成open。

    3.當前狀態(tài)時close時,則根據(jù)是否總請求達到了最低請求數(shù),如果達到了話再比較慢請求數(shù)/慢請求比例是否大于限定值,如果大于則直接轉(zhuǎn)換成open。

    下一個節(jié)點是AuthoritySlot,權(quán)限控制器,這個控制器就是看當前origin是否被允許進入請求,不允許則報錯,不再細說。

    終于來到最后一個節(jié)點SystemSlot了,此節(jié)點是自適應(yīng)處理器,主要是根據(jù)系統(tǒng)自身負載(qps、最大線程數(shù)、最高響應(yīng)時間、cpu使用率、系統(tǒng)bbr)來判斷請求是否能夠通過,保證系統(tǒng)處于一個能穩(wěn)定處理請求的安全狀態(tài)。

    尤其值得一提的是bbr算法,作者參考了tcp bbr的設(shè)計,通過最大的qps和最小的響應(yīng)時間動態(tài)計算出可進入的線程數(shù),而不是一個粗暴的固定可進入的線程數(shù),為什么能通過這兩個值就能計算出可進入的線程數(shù)?可以網(wǎng)上搜索一下tcp bbr算法的解析,十分巧妙,不再細說。

    以上就是關(guān)于chainnode相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    ChatGPT會搶誰的飯碗

    ChatGPT的發(fā)音(chat發(fā)音怎么讀音)

    人工智能chatGPT下載(人工智能程序下載)

    室內(nèi)設(shè)計軟件好學(xué)嗎(室內(nèi)設(shè)計軟件好學(xué)嗎女生)

    銷售目標計劃怎么寫(銷售目標計劃書怎么寫)