日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

SDUT—2054数据结构实验之链表九:双向链表 (基本建立)

發(fā)布時間:2025/4/16 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SDUT—2054数据结构实验之链表九:双向链表 (基本建立) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?點擊打開鏈接

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??數(shù)據(jù)結(jié)構(gòu)實驗之鏈表九:雙向鏈表

Time Limit:?1000MS?Memory Limit:?65536KB Submit?Statistic?Discuss

Problem Description

學(xué)會了單向鏈表,我們又多了一種解決問題的能力,單鏈表利用一個指針就能在內(nèi)存中找到下一個位置,這是一個不會輕易斷裂的鏈。但單鏈表有一個弱點——不能回指。比如在鏈表中有兩個節(jié)點A,B,他們的關(guān)系是B是A的后繼,A指向了B,便能輕易經(jīng)A找到B,但從B卻不能找到A。一個簡單的想法便能輕易解決這個問題——建立雙向鏈表。在雙向鏈表中,A有一個指針指向了節(jié)點B,同時,B又有一個指向A的指針。這樣不僅能從鏈表頭節(jié)點的位置遍歷整個鏈表所有節(jié)點,也能從鏈表尾節(jié)點開始遍歷所有節(jié)點。對于給定的一列數(shù)據(jù),按照給定的順序建立雙向鏈表,按照關(guān)鍵字找到相應(yīng)節(jié)點,輸出此節(jié)點的前驅(qū)節(jié)點關(guān)鍵字及后繼節(jié)點關(guān)鍵字。

Input

第一行兩個正整數(shù)n(代表節(jié)點個數(shù)),m(代表要找的關(guān)鍵字的個數(shù))。第二行是n個數(shù)(n個數(shù)沒有重復(fù)),利用這n個數(shù)建立雙向鏈表。接下來有m個關(guān)鍵字,每個占一行。

Output

對給定的每個關(guān)鍵字,輸出此關(guān)鍵字前驅(qū)節(jié)點關(guān)鍵字和后繼節(jié)點關(guān)鍵字。如果給定的關(guān)鍵字沒有前驅(qū)或者后繼,則不輸出。
注意:每個給定關(guān)鍵字的輸出占一行。
? ? ? ? ? ?一行輸出的數(shù)據(jù)之間有一個空格,行首、行末無空格。

?

Example Input

10 31 2 3 4 5 6 7 8 9 0350

Example Output

2 44 69

Hint

#include <iostream> #define max 20 using namespace std; int a; struct node {node *prior;int num;node *next; }; struct node *CreateList(int n) {node *head,*p,*q;head=new node;head->prior=head->next=NULL;p=head;for(int i=0;i<n;i++){q=new node;cin>>q->num;q->next=NULL;p->next=q;q->prior=p;p=q;}return head; } void Display(node *head,int m) {node *p=head->next;while(p!=NULL){if(p->num==a){if(p->next!=NULL&&p->prior!=head){cout<<p->prior->num<<' '<<p->next->num<<endl;break;//continue;用continune會死循環(huán),基礎(chǔ)知識(暑假做題的時候可能蒙了)}else if(p->next==NULL&&p->prior!=head){cout<<p->prior->num<<endl;break;//continue;}else if(p->next!=NULL&&p->prior==head){cout<<p->next->num<<endl;break;//continue;}else//去掉這個else的判讀,輸入1 1 1 就出現(xiàn)bugbreak;//continue;}elsep=p->next;} } int main() {node *head;int n,m;cin>>n>>m;head=CreateList(n);while(m--){cin>>a;Display(head,m);}return 0; }//輸入1 1 1時沒有bug/*************************************************** User name: YT1658506207邵雪源 Result: Accepted Take time: 0ms Take Memory: 228KB Submit time: 2017-08-10 18:45:46 ****************************************************/



總結(jié)

以上是生活随笔為你收集整理的SDUT—2054数据结构实验之链表九:双向链表 (基本建立)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。