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

2024/11/11日工作总结

时间:2024-11-11 21:11:43浏览次数:1  
标签:11 总结 head ListNode struct 链表 2024 num now

完成数据结构pta实验题:
6-3 链表逆置:
本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下:

struct ListNode {
int data;
struct ListNode *next;
};
函数接口定义:
struct ListNode *reverse( struct ListNode *head );
其中head是用户传入的链表的头指针;函数reverse将链表head逆置,并返回结果链表的头指针。

裁判测试程序样例:
include <stdio.h>
include <stdlib.h>

struct ListNode {
int data;
struct ListNode *next;
};

struct ListNode createlist(); /裁判实现,细节不表*/
struct ListNode *reverse( struct ListNode *head );
void printlist( struct ListNode *head )
{
struct ListNode *p = head;
while (p) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}

int main()
{
struct ListNode *head;

head = createlist();
head = reverse(head);
printlist(head);

return 0;

}

/* 你的代码将被嵌在这里 */
输入样例:
1 2 3 4 5 6 -1
输出样例:
6 5 4 3 2 1

点击查看代码
struct ListNode *reverse(struct ListNode *head){
    struct ListNode *pre=NULL;
    struct ListNode *now=head;
    struct ListNode *hou=NULL;
    while(now!=NULL){
        hou=now->next;
        now->next=pre;
        pre=now;
        now=hou;
    }
    head=pre;
    return head;
}

7-1 线性表A,B顺序存储合并:
有两张非递增有序的线性表A,B,采用顺序存储结构,两张表合并用c表存,要求C为非递减有序的,然后删除C表中值相同的多余元素。元素类型为整型

输入格式:
第一行输入输入表A的各个元素,以-1结束,中间用空格分隔;第二行输入表B的各个元素,以-1结束,中间用空格分隔。

输出格式:
输出结果为表C的非递减有序序列,中间用英文逗号分隔

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

9 8 7 -1
10 9 8 4 3 -1
输出样例:
在这里给出相应的输出。例如:

3,4,7,8,9,10

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

int main(){
    vector<int> A,B,C;
    int num;
    while(cin>>num&&num!= -1){
        A.push_back(num);
    }
    while(cin>>num&&num!= -1){
        B.push_back(num);
    }
    size_t a=A.size();
    size_t b=B.size();
    size_t i=0,j=0;
    while(i<a&&j<b){
        if(A[i]>B[j]){
            if(A[i]!=A[i-1]){
                C.push_back(A[i]);
            }
            i++;
        }
        else if(A[i]==B[j]){
            if(A[i]!=A[i-1]&&B[j]!=B[j-1]){
                C.push_back(A[i]);
            }
            i++;
            j++;
        }
        else if(A[i]<B[j]){
            if(B[j]!=B[j-1]){
                C.push_back(B[j]);
            }
            j++;
        }
    }
    if(i==a){
        for(size_t k = j;k<b;k++){
            if(B[k]!=B[k-1])
                C.push_back(B[k]);
        }
    }
    if(j==b){
        for(size_t l = i;l<a;l++){

                C.push_back(A[l]);
        }
    }
    sort(C.begin(),C.end());
    for(size_t c = 0;c < C.size();c++){
        cout<<C[c];
        if(c < C.size() - 1)
            cout<<",";
    }
    return 0;
}

标签:11,总结,head,ListNode,struct,链表,2024,num,now
From: https://www.cnblogs.com/zhanglijian/p/18540562

相关文章

  • 题解:P11262 [COTS 2018] 题日 Zapatak
    https://www.luogu.com.cn/article/i7ajvm8e哈希好题。题意给定一个序列,每次询问给定两个长度相等的区间,问这两个区间是否只有一个数不一样。思路发现我们要求的信息只与数的出现次数有关,自然想到桶。那么如果有两个区间合法,那这两个区间的桶只有两个位置不同且桶内的值均相......
  • CSP-S 2024 游记
    前情提要:初赛\(54.5\),比去年还低\(2.5\),但是过了。考点在七中高新,在红杏酒家吃的午饭,在旁边酒店小睡了一会儿。进考场,机子还是一如既往地牛,但感觉键盘有点难用,是放在抽屉里的,但我强行拉到了桌子上。起初一直打不开代码回收系统,过后不知道怎么回事就打开了。看T1,一眼没读懂,......
  • 『模拟赛』NOIP2024加赛4
    Rank给我唐完了,又名,【MX-S5】梦熊NOIP2024模拟赛1。A.王国边缘好像简单倍增就做完了。由于昨天T5在我脑海中留下了挥之不去的印象,今天一上来看到这题就发现是一个内向基环树森林。然后被硬控硬控硬控,最后一个小点加一点优化就能过没调出来,挂30pts,菜菜菜菜菜。注......
  • 20241111
    HappyBirthdayElysia!T1很有味道的题目\(dp_i\)表示到\(a\)的第\(i\)个数,最多能到\(b\)的哪一个数。向后转移能够给到的是一个值域的后缀,离散化后BIT维护即可。代码#include<iostream>#include<algorithm>#definelowbit(x)((x)&(-(x)))#defineintl......
  • EEEE4116 Design for a 2-Level Inverter
    AdvancedControl(EEEE4116)Coursework1ModellingandAdvancedControllerDesignfora2-LevelGrid-FeedingInverterInthisassignmentyouwillbringtogetheryourskillsofstate-spaceequationdevelopmentandcontrollerdesigntocontrolagrid-tied......
  • C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
    前言C#/.NET/.NETCore技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NETCore领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等。每......
  • 杀怪物(NHOI2011pj4)
    题目为了庆祝自己的生日,小张推出一款游戏。游戏在一个20*20的方格上进行,上面有一些怪物,用#表示,其他是空格,用.表示。怪物有两点体力。体力为0时死亡。你可以进行以下操作:(1)使一个横行上的怪物体力减一(2)使一个竖行上的怪物体力减一对每个横行或竖行只能操作一次,限定n次,问最......
  • 快速排序,思路总结与实现
    思路找基准值(pivot)pivot=startorend比基准值小的放左边,大的放右边实现双指针,left从左到右找比基准值大的元素,right从右到左找比基准值小的元素找到后交换left和right指针的内容直到left=right这是递增排序,递减排序情况相反如果pivot=start,则右指针先动,否......
  • 8.100ASK_T113-PRO 应用程序驱动LED灯 (/sys/class/gpio)
    前言1.利用LINUX内核的GPIO子统驱动LED灯.2. 编写应用程序控制LED灯的亮灭.3.不用写驱动程序,只写应用程序.1.原理图使用的是PE12这个IO口,计算一个IO编号: PE=4*32, IO编号=4*32+12=140.注解一下:PAX= 0*32+XPBX= 1*32+XPCX= 2*32+XPD......
  • 开源三代示波器的高速波形刷新方案开源,支持VNC远程桌面,手机,Pad,电脑均可访问(2024-11-11
    说明:1、本来这段时间是一年一度Hackaday硬件设计开源盛宴,但hackaday电子大赛在去年终结了。所以我开源个我的吧。2、三代示波器的高速波形刷新方案,前两年就做好了,这两年忙H7-TOOL的更新比较多,三代示波器的更新就搁置了。但刷新方案是没问题的,开源分享给大家。3、V7板子主频400M......