首页 > 其他分享 >2024/11/13日工作总结

2024/11/13日工作总结

时间:2024-11-18 22:59:26浏览次数:1  
标签:11 current 13 int nextNode head Node 2024 next

完成数据结构实验作业:

7-2 双向循环链表应用
分数 20
作者 liudan
单位 石家庄铁道大学
已知p指向双向循环链表中的一个结点,其结点结构为data、prior、next三个域,实现交换p所指向的结点和它的前缀结点的顺序。

输入格式:
第一行输入元素个数,第二行输入元素值,第三行输入要交换的元素值,第四行输出结果。

输出格式:
输出交换后的结果,中间不用空格分隔,若要交换的值:4,不在数组终,则输出“未找到4”

输入样例:
在这里给出一组输入。例如:

6
1 2 3 4 5 6
6
输出样例:
在这里给出相应的输出。例如:

123465

点击查看代码
#include<iostream>
using namespace std;

struct Node{
    int data;
    Node* pre;
    Node* next;

    Node(int value):data(value),pre(nullptr),next(nullptr){}
};

class List{
private:
    Node* head;

public:
    List():head(nullptr){}

    void insert(int data){
        Node* newNode = new Node(data);
        if(!head){
            head = newNode;
            head->pre = head;
            head->next = head;
        }else{
            Node* last = head->pre;
            last->next = newNode;
            newNode->pre = last;
            newNode->next = head;
            head->pre = newNode;
        }
    }

    Node* select(int value){
        if(!head) return nullptr;

        Node* current = head;
        do{
            if(current->data == value) return current;
            current = current->next;
        }while (current != head);
        return nullptr;
    }
    
    int swap(int value){
        Node* p = select(value);
        if(!p || p == head){
            if(!p){
                cout<<"未找到"<<value<<endl;
            }
            return 0;
        }

        Node* preNode = p->pre;
        Node* nextNode = p->next;

        preNode->next = nextNode;
        nextNode->pre = preNode;
        preNode=preNode->pre;
        nextNode=nextNode->pre;

        preNode->next=p;
        p->pre=preNode;

        p->next=nextNode;
        nextNode->pre=p;

        if(nextNode == head)
            head = p;
        return 1;
    }

    void display(){
        if(!head) return;
        Node* current = head;
        do{
            cout<<current->data;
            current = current->next;
        }while(current != head);
    }

    ~List(){
        if(!head) return;

        Node* current = head;
        Node* nextNode;
        do{
            nextNode = current->next;
            delete current;
            current = nextNode;
        }while(current != head);
    }
};

int main(){
    int n;
    cin>>n;

    List list;
    for(int i = 0;i < n;i++){
        int value;
        cin>>value;
        list.insert(value);
    }

    int N;
    cin>>N;

    int flag = list.swap(N);
    if(flag)
        list.display();
    return 0;
}

标签:11,current,13,int,nextNode,head,Node,2024,next
From: https://www.cnblogs.com/zhanglijian/p/18553925

相关文章

  • 2024/11/14日工作总结
    完成数据结构pta实验:7-3修改数组(蓝桥杯)分数20作者liudan单位石家庄铁道大学给定一个长度为N的数组A=[A1,A2,⋅⋅⋅AN],数组中有可能有重复出现的整数。现在小明要按以下方法将其修改为没有重复整数的数组。小明会依次修改A2,A3,⋅⋅⋅,AN。当修改Ai时,小明会检查......
  • 2024 ICPC区域赛上海 游记
    Day.0热身赛0.上海站的行程是最紧的,当天中午飞机落地,就要立刻去赛场签到,然后是热身赛。紧接着第二天比完赛闭幕式估计都来不及就要返回机场。来的飞机还因为天气原因晚点了40分钟,但直到前一天晚上11点才发布消息,所以我直到早上4点半起床时才知道晚点。本来因为没睡好就会头晕,到......
  • # 20222419 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    1.实验内容本周介绍了MetasploitFramework,它是一个强大的开源安全测试平台,提供了一系列工具和模块,用于发现、利用和验证软件漏洞,并且支持渗透测试人员和安全研究人员进行系统安全评估和漏洞研究。2.实验过程(1)前期渗透查看ip地址:①主机发现(可用Aux中的arp_sweep,search一下就......
  • 三种方法教你下载 Windows 10 和 Windows 11 原生镜像
    方法一:通过微软官网下载下载Windows11镜像打开微软官网下载页面访问微软官网的 Windows11下载页面。选择下载选项在页面中找到 下载Windows11磁盘映像(ISO) 部分。选择 Windows11 ISO下载方式。选择语言在语言选项中选择 简体中文,然后点击 ......
  • 11.17鲜花
    整个机房都在看CCPC上海站的滚榜,没人干活,戴圣吸引力太大了吧为啥越到赛前越要颓啊,我这是怎么了NOIP在即,第二次参加NOIP了,去年压了国三线,希望能拿到JSOI2025的旅游入场券吧嗯,我好像是到目前为止NFLSHC初中时参加NOIP次数最多的人耶还好市统测年排考的不错,第一次进rk10,没有被强......
  • 20222312 2024-2025-1《网络与系统攻防技术》实验五实验报告
    一、实验内容1.1知识回顾1.2实验内容从besti.edu.cn中选择一个DNS域名进行查询,获取信息尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所在的具体地理位置。使用nmap开源软件对靶机环境进行扫描,回答以下问题并给出操作命令。使用Nessus开源软件对靶机环境......
  • [20241115]大量软解析相关等待事件分析(21c).txt
    [20241115]大量软解析相关等待事件分析(21c).txt--//测试看看应用程序大量软解析导致的相关等待事件,主要原因上午测试librarycachebucket的muext值的前4个字节,在软解析时会--//出现挂起的情况,其他地方也应该出现类似情况,测试看看主要出现在那里等待事件。1.环境:SCOTT@book01p>......
  • [20241116]大量软解析相关等待事件分析(11g).txt
    [20241116]大量软解析相关等待事件分析(11g).txt--//测试看看应用程序大量软解析导致的相关等待事件,主要原因上午测试librarycachebucket的muext值的前4个字节,在软解析时会--//出现挂起的情况,其他地方也应该出现类似情况,测试看看主要出现在那里等待事件。1.环境:SCOTT@book>@ve......
  • [20241118]invalid date 0000-00-00(zero year)的输入.txt
    [20241118]invaliddate0000-00-00(zeroyear)的输入.txt--//昨天看了链接:https://www.anbob.com/archives/8511.html,类似的问题以前我也遇到过,我记忆里第一次在toad下,如果在浏--//览数据模式,点击显示0000-00-00的grid会报错,提示invaliddate。--//我一直不明白这些日期输入如何......
  • [20241118]NLS_LANG设置问题2.txt
    [20241118]NLS_LANG设置问题2.txt--//链接https://www.itpub.net/thread-2155589-1-1.html上的讨论。--//PiscesCanon指出:--//NLS_LANG设置错了,如果你的客户端是sqlplus,那么应该是NLS_LANG=.AL32UTF8或者NLS_LANG=AMERICAN_AMERICA.AL32UTF8,跟着--//OS的字符集来。另外,SecureCRT......