数据结构作业3

2023-11-02

问题 S: 算法2-25 有序单链表删除重复元素(附加代码模式)

内存限制:128 MB时间限制:1.000 S

评测方式:文本比较命题人:2011014323

提交:3365解决:1604

返回比赛提交提交记录侧边提交

题目描述

根据一个递增的整数序列构造有序单链表,删除其中的重复元素
本题是附加代码模式,主函数main和打印链表的代码会自动附加在同学们提交的代码后面,请同学们在提交的时候注释附加代码。
附加代码如下:
 

void PrintList(const List &list){

    Node *p = list->next;

    if(p == NULL){

        cout<<"list is empty"<<endl;

    }else{

        while(p != NULL){

            cout << p->data << " ";

            p = p->next;

        }

    }

    cout << endl;

}

int main(){

    int n;

    while(cin >> n){

        if( n ==0) {

            cout<<"list is empty"<<endl;

            continue;

        }

        List list;      

        InitList(list); // 初始化单链表 

        for(int i=0;i<n;i++){

            int v;

            cin >> v;

            AddNode(list,v); // 在单链表的末尾增加节点 

        }

        PrintList(list);  // 输出链表

        RemoveDuplicate(list);  // 删除重复元素 

        PrintList(list);    // 再次输出链表 

        DestroyList(list);  // 销毁单链表 

        

    }

    return 0;

输入

输入包括多组测试数据,每组测试数据占一行,第一个为大于等于0的整数n,表示该单链表的长度,后面跟着n个整数,表示链表的每一个元素。整数之间用空格隔开

输出

针对每组测试数据,输出包括两行,分别是删除前和删除后的链表元素,用空格隔开 如果链表为空,则只输出一行,list is empty

样例输入 复制

5 1 2 3 4 5
5 1 1 2 2 3
0

样例输出 复制

1 2 3 4 5 
1 2 3 4 5 
1 1 2 2 3 
1 2 3 
list is empty

提示

单链表的结构体定义和相应的操作函数如下图所示:

#include <iostream>

using namespace std;

struct Node{

    int data;

    Node* next;

};

typedef Node* List;

int InitList(List &list){

    return 0;

}

int DestroyList(List &list){

    return 0;

}

int AddNode(List &list, int data){

    

    return 0;

}

void RemoveDuplicate(List &list){

}

 

问题 T: 案例3-1.1:线性表元素的区间删除

内存限制:128 MB时间限制:1.000 S

评测方式:文本比较命题人:admin

提交:1714解决:766

返回比赛提交提交记录侧边提交

题目描述

 给定一个顺序存储的线性表,删除线性表中所有小于r且大于l的元素。删除后剩余元素保持顺序存储,相对位置不变。

输入

第一行元素个数n、区间l、r。1<=n<=1e6,0<=l<=r<=1e8.
第二行n个整数,对应顺序表的各元素。对于每个元素Ai满足0<=Ai<=1e8

输出

第一行输出删除后元素的个数
第二行输出删除后顺序表中的元素,没有元素直接换行

样例输入 复制

10 0 4
4 -8 2 12 1 5 9 3 3 10

样例输出 复制

6
4 -8 12 5 9 10

问题 U: 案例3-1.2:最长连续递增子序列

内存限制:128 MB时间限制:1.000 S

评测方式:文本比较命题人:admin

提交:1168解决:578

返回比赛提交提交记录侧边提交

题目描述

给定一个顺序存储的线性表,设计算法查找该线性表中最长的连续递增子序列。例如(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8).

输入

序列长度 n (1<=n<=1e6)
序列元素(整数)a1,a2.....an (1<=ai<=1e9)

输出

最长连续递增子序列(若有多个等长最长连续递增子序列,输出位置靠前的)。

样例输入 复制

15
1 9 2 5 7 3 4 6 8 0 11 15 17 17 10

样例输出 复制

3 4 6 8

问题 V: 案例3-1.3:求链表的倒数第m个元素(附加代码模式)

题目描述

给你一个链表,链表长度为n,链表内各元素为a1,a2....an,给你一个数m,求链表倒数第m个数是多少。
本题是附加代码模式,主函数main的代码会自动附加在同学们提交的代码后面,请同学们在提交的时候注释掉自己的main函数。
main函数代码如下:

输入

第一行:链表长度n(1<=n<=1e4)
第二行:n个数字,为链表元素从头到尾依次排列
第三行:数字m

输出

输出倒数第m个元素的值并输出换行

样例输入 复制

5
1 2 3 4 5
5 

样例输出 复制

1

提示

单链表的结构体定义和相应的操作函数如下图所示:
 

#include <iostream> 

#include <cstdio>

using namespace std; 

struct Node{

    int data;

    Node *next;

};

typedef Node* List;

int InitList(List& list){

    return 0;

}

int DestroyList(List& list){

    return 0;

}

int AddNode(List& list,int v){

    return 0;

}

void PrintList(const List& list){

}

// 查找倒数第m个节点

Node* FindMthNode(const List& list, int m){

    

}

问题 W: 案例2-1.6:两个有序链表序列的合并(附加代码模式)

内存限制:128 MB时间限制:1.000 S

评测方式:文本比较命题人:admin

提交:1116解决:621

返回比赛提交提交记录侧边提交

题目描述

将两个链表表示的递增整数序列合并为一个非递减的整数序列
本题是附加代码模式,以下代码会自动附加在同学们提交的代码后面,请同学们在提交的时候注释掉自己的main函数和链表输出函数。
附加代码如下:


 

void PrintList(const List &list)

{

    List p=list;

    while(p->next!=NULL){

        p=p->next;

        cout << p->data << " ";

    }

    cout << endl;

}

int main(){

    int m,n;

    cin >> m >> n;

    List listA, listB;      

    InitList(listA); // 初始化单链表 

    InitList(listB); // 初始化单链表 

    for(int i=0;i<m;i++){

        int v;cin >> v;

        AddNode(listA,v); // 在单链表的末尾增加节点 

    }

    for(int i=0;i<n;i++){

        int v; cin >> v;

        AddNode(listB, v);

    }

    List listC = MergeList(listA,listB);    //合并两个单链表 

    PrintList(listC);   // 输出单链表 

    

    DestroyList(listA);  // 销毁单链表 

    DestroyList(listB);  // 销毁单链表 

    DestroyList(listC);  // 销毁单链表 

    

    return 0;



 

输入

输入三行,第一行代表两个链表长度,第二三行分别表示两个链表表示的递增序列

输出

输出合并后的序列

样例输入 复制

3 5
1 3 5
2 4 6 8 10

样例输出 复制

1 2 3 4 5 6 8 10

提示

单链表的结构体定义和相应的操作函数如下所示:

#include <iostream>

using namespace std;

struct Node

{

    int  data;

    Node* next;

};

typedef Node* List;

void InitList(List &list)

{

}

void DestroyList(List &list)

{

}

void AddNode(List &list,int data)

{

}

List MergeList(List &listA,List &listB)

{

    List listC;    

    return listC;

}

 

问题 X: 案例3-1.4:一元多项式的乘法运算

内存限制:128 MB时间限制:1.000 S

评测方式:文本比较命题人:admin

提交:744解决:445

返回比赛提交提交记录侧边提交

题目描述

给你两个一元多项式,输出这两个一元多项式的乘积。

输入

输入包含两行,每行一个一元多项式。
每行开头一个数字n,表示该多项式非零项项数,后面有n组数字,每组数字包含两个数字,按顺序分别为该项的系数和指数。

输出

输出包含一行,按指数从大到小的顺序输出乘积的非0项的系数与指数,以空格分隔开。
如果最终结果为0,直接输出0 0。

样例输入 复制

4 3 4 -5 2 6 1 -2 0
3 5 20 -7 4 3 1

样例输出 复制

15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1

问题 Y: 进阶实验2-3.3:两个有序链表序列的交集(附加代码模式)

内存限制:128 MB时间限制:1.000 S

评测方式:文本比较命题人:admin

提交:1149解决:582

返回比赛提交提交记录侧边提交

题目描述

已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。
本题是附加代码模式,主函数main和打印链表的代码会自动附加在同学们提交的代码后面,请同学们在提交的时候注释掉附加代码。
附加代码如下:

void PrintList(const List &list){

    Node *p = list->next;

    if(p == NULL){

        cout<<"NULL"<<endl;

    }else{

        while(p != NULL){

            cout << p->data << " ";

            p = p->next;

        }

    }

    cout << endl;

}

int main(){

    List listA, listB;      

    InitList(listA); // 初始化单链表 

    InitList(listB); // 初始化单链表 

    int v;

    while(cin >> v && v != -1){

        AddNode(listA,v); // 在单链表的末尾增加节点 

    }

    while(cin >> v && v != -1){

        AddNode(listB,v); // 在单链表的末尾增加节点 

    }

    List listC = GetIntersection(listA,listB);  //合并两个单链表 

    PrintList(listC);   // 输出单链表 

     

    DestroyList(listA);  // 销毁单链表 

    DestroyList(listB);  // 销毁单链表 

    DestroyList(listC);  // 销毁单链表 

     

    return 0;

输入

输入分为两行,分别在每行给出由若干个正整数构成的非降序序列,用-1表示序列的结尾(-1不属于这个序列)。数字用空格间隔。

输出

在一行中输出两个输入序列的交集序列,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出“NULL”(不带引号)。

样例输入 复制

1 2 5 -1
2 4 5 8 10 -1

样例输出 复制

2 5

提示

单链表的结构体定义和相应的操作函数如下图所示:

#include <iostream>

using namespace std;

struct Node{

    int data;

    Node* next;

};

typedef Node* List;

int InitList(List &list){

    return 0;

}

int DestroyList(List &list){

    return 0;

}

int AddNode(List &list, int data){

    return 0;

}

List GetIntersection(const List &listA, const List &listB){

    List listC;

     

    return listC;

}

 

问题 Z: 算法2-3~2-6:Big Bang

内存限制:512 MB时间限制:1.000 S

评测方式:文本比较命题人:2011014323

提交:2613解决:1472

返回比赛提交提交记录侧边提交

题目描述

复习考研累了的时候看看一集二十分钟左右的《生活大爆炸》也不失为一种乐趣。在剧中Sheldon可以说是一个极品,真不知Leonard是如何忍受这位极品室友成天的唠叨。

你知道么?Sheldon有一个神秘的小本本,记录了所有他从小开始讨厌的人名。Stuart这位漫画店老板就是小本本的一员哦,谁叫他常常毫不客气地挤兑Sheldon,曾多次赌赢过Sheldon呢。

Penny是一个漂亮的女孩,好奇心也很强。为了满足她的好奇心,我当回编剧让她意外知道了Sheldon的那个小本本放在了哪里。于是她几乎每天都去看,看看上面有哪些人。但是那个小本本上的人名实在太多。要知道她可是没上过大学在饭店里面当服务员啊。请聪明的你帮帮她处理处理那个小本本吧。

图1:《生活大爆炸》里的角色

Sheldon每天都会在小本本里记录些人名,当然有时也会与他们和好就会从小本本中将这个人名删除。我们假设Sheldon会在一个空的小本本上插入、删除、查询某个人。

要帮助Penny,你需要知道一个顺序表是怎么初始化、插入、删除以及查找的。下面我就将这些算法列举在下方。

图2:线性表的动态分配顺序存储结构以及初始化

图3:线性表的插入算法

图4:线性表的删除算法

图5:线性表的查找算法

输入

输入数据只有一组,有很多行。每行的格式可能是下列一种:
insert a name
delete name
show
search name
其中 a 是一个整数,代表在第a个名字前插入名字。name是一个姓名,只包含英文字母的大小写,每个名字不超过30个字符。
输入保证不会插入列表中已经存在的姓名,不会删除列表中不存在的姓名,也不会搜索列表中不存在的姓名。

输出

起始时,列表是空的。只输出show和search name 的结果。show将列表中的姓名全部输出,search只输出找到该名字的序号(从1开始)。每次输出占一行,姓名间用空格隔开。如果列表中没有名字了,show时也要输出一个空行。

样例输入 复制

insert 1 Stuart
insert 2 Bernadette
show
search Stuart
delete Stuart
show
insert 2 Stuart
show
insert 1 Amy
insert 2 Leslie
insert 3 Stephanie
show
delete Leslie
show
search Stuart

样例输出 复制

Stuart Bernadette
1
Bernadette
Bernadette Stuart
Amy Leslie Stephanie Bernadette Stuart
Amy Stephanie Bernadette Stuart
4

提示

提示: 
1、名字是不含空格的,指令也是一定的,所以可以用scanf("%s", str)来读取。 
2、上述代码有些函数头中变量类型与变量之间有个&,这个表示该变量是引用类型的,是C++特性。在C语言中存在值传递与指针传递,值传递中形参不可以改变实参的值,需要通过指针来修改。而引用变量实际上就是实参的另一个名字,这种类型的形参改变会影响实参的值。 
3、使用题目中的代码需要自己定义其中缺失的类型和变量,例如Status、OK以及Error等。 
4、ElemType类型中可以只有一个字符数组用来存储姓名。 
5、LocateElem_Sq函数在调用时需要传递一个函数指针,可以这样定义: Status cmp(ElemType e1, ElemType e2); 注意这个函数用来判断e1和e2是否相等,如果相等则返回非零值,否则返回0。因此可以在这个函数里直接返回 !strcmp(...)但最好需要改变返回类型。 
6、内存分配以及字符串操作需要的头文件分别是stdlib.h和string.h需要被包含进来。 
7、题目要求每个输出占一行,所以要注意换行。 


总结: 
1、实际上,题目中几乎将主要代码都写出来了。解决这道题使用上面的代码是可能复杂了点,但将各个功能独立出来是个不错的思路。以后修改就方便了,特别适用于代码量较大的程序。 
2、C语言中参数的传递分为值传递和指针传递,而C++中多了一个引用传递。值传递和指针传递都不可以改变传递进来的值,但指针可以改变其所指向的值。在C语言中,调用函数时传入的参数叫做“实参”,而在函数声明或定义中在函数头中的参数叫做“形参”。值传递与指针传递中,形参的改变是不影响实参的。C++中,引用传递,形参与实参实际上是同一个内容的不同名字,因而形参的变化会改变实参。引用传递是C++中一个很重要也很方便的特性,比如在可能会产生不必要的复制时,采用引用传递是一个很不错的解决方案。 

问题 AA: 算法2-24 单链表反转(附加代码模式)

内存限制:128 MB时间限制:1.000 S

评测方式:文本比较命题人:2011014323

提交:3398解决:1681

返回比赛提交提交记录侧边提交

题目描述

根据一个整数序列构造一个单链表,然后将其反转。

例如:原单链表为 2 3 4 5 ,反转之后为5 4 3 2
本题是附加代码模式,主函数main和打印链表的代码会自动附加在同学们提交的代码后面,请同学们在提交的时候注释掉附加代码。
附加代码如下:
 
 

void PrintList(const List &list){

    Node *p = list->next;

    if(p == NULL){

        cout<<"list is empty"<<endl;

    }else{

        while(p != NULL){

            cout << p->data << " ";

            p = p->next;

        }

    }

    cout << endl;

}

int main(){

    int n;

    while(cin >> n){

        if( n ==0) {

            cout<<"list is empty"<<endl;

            continue;

        }

        List list;      

        InitList(list); // 初始化单链表 

        for(int i=0;i<n;i++){

            int v;

            cin >> v;

            AddNode(list,v); // 在单链表的末尾增加节点 

        }

        PrintList(list);  // 输出链表

        ReverseList(list);  // 反转链表

        PrintList(list);    // 再次输出链表 

        DestroyList(list);  // 销毁单链表 

        

    }

    return 0;

输入

输入包括多组测试数据,每组测试数据占一行,第一个为大于等于0的整数n,表示该单链表的长度,后面跟着n个整数,表示链表的每一个元素。整数之间用空格隔开

输出

针对每组测试数据,输出包括两行,分别是反转前和反转后的链表元素,用空格隔开 如果链表为空,则只输出一行,list is empty

样例输入 复制

5 1 2 3 4 5 
0

样例输出 复制

1 2 3 4 5 
5 4 3 2 1 
list is empty

提示

单链表的结构体定义和相应的操作函数如下图所示:

#include <iostream>

using namespace std;

struct Node{

    int data;

    Node* next;

};

typedef Node* List;

int InitList(List &list){

    return 0;

}

int DestroyList(List &list){

    return 0;

}

int AddNode(List &list, int data){

    

    return 0;

}


 

void ReverseList(List &list){

}

 

问题 AB: 约瑟夫问题

内存限制:128 MB时间限制:1.000 S

评测方式:文本比较命题人:外部导入

提交:1479解决:645

返回比赛提交提交记录侧边提交

题目描述

N个人围成一圈,从第一个人开始报数,数到M的人出圈;再由下一个人开始报数,数到M的人出圈;……输出依次出圈的人的编号。N,M由键盘输入。

输入

一行,包含两个正整数N,M。1<=N,M<=100。

输出

先输出一个空行,再依次出圈的人的编号。每个编号后都有一个空格。

样例输入 复制

8 5

样例输出 复制


5 2 8 7 1 4 6 3 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据结构作业3 的相关文章

  • 为什么相同的代码在同一台计算机上的执行时间可能不同?

    我是 C 编程新手 我编写了代码并希望获得它的运行时 这就是我所做的 每次运行代码时 我都会得到不同的运行时值 这样对吗 或者我的代码有问题吗 int main int argc char argv time t start end sta
  • 使用 Unity 在构造函数中使用属性依赖注入

    好的 我在基类中定义了一个依赖属性 我尝试在其派生类的构造函数内部使用它 但这不起作用 该属性显示为 null Unity 在使用 container Resolve 解析实例后解析依赖属性 我的另一种选择是将 IUnityContaine
  • 如何读取扩展文件属性/文件元数据

    因此 我按照教程使用 ASP net core 将文件 上传 到本地路径 这是代码 public IActionResult About IList
  • std::cout 和 std::wcout 有什么区别?

    在c 中 有什么区别std cout and std wcout 它们都控制流缓冲区的输出或将内容打印到控制台 或者它们只是相似吗 它们作用于不同的字符类型 std cout uses char作为字符类型 std wcout uses w
  • C++ 中本地类中的静态成员变量?

    我知道我们不能宣布static本地类中的成员变量 但其原因尚不清楚 那么请问有人可以解释一下吗 另外 为什么我们不能访问非static函数内部定义的变量 内部已经定义了局部类 直接在局部类成员函数中 在下面给出的代码中 int main i
  • 如何在 C# 中从 UNIX 纪元时间转换并考虑夏令时?

    我有一个从 unix 纪元时间转换为 NET DateTime 值的函数 public static DateTime FromUnixEpochTime double unixTime DateTime d new DateTime 19
  • 互斥体实现可以互换(独立于线程实现)

    所有互斥体实现最终都会调用相同的基本系统 硬件调用吗 这意味着它们可以互换吗 具体来说 如果我使用 gnu parallel算法 使用openmp 并且我想让他们称之为线程安全的类我可以使用boost mutex用于锁定 或者我必须编写自己
  • 单元测试一起运行时失败,单独运行时通过

    所以我的单元测试遇到了一些问题 我不能只是将它们复制并粘贴到这里 但我会尽力而为 问题似乎是 如果我一项一项地运行测试 一切都会按预期进行 但如果我告诉它一起运行测试 则 1 5 将通过 TestMethod public void Obj
  • 如何在 C# 中定义文本框数组?

    您好 当我在 Windows 申请表上创建文本框时 我无法将其命名为 box 0 box 1 等 我这样做的目的是因为我想循环使用它们 其实我发现TextBox array firstTextBox secondTextBox 也有效
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • PlaySound 可在 Visual Studio 中运行,但不能在独立 exe 中运行

    我正在尝试使用 Visual Studio 在 C 中播放 wav 文件 我将文件 my wav 放入项目目录中并使用代码 PlaySound TEXT my wav NULL SND FILENAME SND SYNC 我按下播放按钮 或
  • 上下文敏感与歧义

    我对上下文敏感性和歧义如何相互影响感到困惑 我认为正确的是 歧义 歧义语法会导致使用左推导或右推导构建多个解析树 所有可能的语法都是二义性的语言是二义性语言 例如 C 是一种不明确的语言 因为 x y 总是可以表示两个不同的事物 如下所述
  • 如何使用 Mongodb C# 驱动程序连接多个集合

    我需要将 3 个集合与多个集合合并在一起 lookup我在 C 驱动程序中尝试过 它允许我 lookup用户采集但无法执行秒 lookup用于设置集合 有人可以帮忙吗 db Transactions aggregate lookup fro
  • (de)从 CSV 序列化为对象(或者最好是类型对象的列表)

    我是一名 C 程序员 试图学习 C 似乎有一些内置的对象序列化 但我在这里有点不知所措 我被要求将测试数据从 CSV 文件加载到对象集合中 CSV 比 xml 更受青睐 因为它更简单且更易于人类阅读 我们正在创建测试数据来运行单元测试 该集
  • 如何在 C# 中调整图像大小同时保持高质量?

    我从这里找到了一篇关于图像处理的文章 http www switchonthecode com tutorials csharp tutorial image editing saving cropping and resizing htt
  • memset 未填充数组

    u32 iterations 5 u32 ecx u32 malloc sizeof u32 iterations memset ecx 0xBAADF00D sizeof u32 iterations printf 8X n ecx 0
  • 如何将 Roslyn 语义模型返回的类型符号名称与 Mono.Cecil 返回的类型符号名称相匹配?

    我有以下代码 var paramDeclType m semanticModel GetTypeInfo paramDecl Type Type Where paramDeclType ToString returns System Col
  • 使用 GhostScript.NET 打印 PDF DPI 打印问题

    我在用GhostScript NET http ghostscriptnet codeplex com打印 PDF 当我以 96DPI 打印时 PDF 打印效果很好 但有点模糊 如果我尝试以 600DPI 打印文档 打印的页面会被极大地放大
  • 检查Windows控制台中是否按下了键[重复]

    这个问题在这里已经有答案了 可能的重复 C 控制台键盘事件 https stackoverflow com questions 2067893 c console keyboard events 我希望 Windows 控制台程序在按下某个

随机推荐

  • ruoyi-vue整合tdengine多数据源

    ruoyi vue整合tdengine多数据源 实现方式一 在application druid yml配置从库数据源 多数据源使用 注意事项 实现方式二 在application druid yml配置从库数据源 添加TDengineCo
  • 旋转链表(图解说明)

    Leetcode题目描述 题目链接 旋转链表 题目很简洁 就是移动节点 但其中有隐含的意思 要将链表的每个节点向右移动 使每个节点在新的位置 由于尾结点后面没有了节点 要移动就要形成环 所有的节点在环里面转 移动完后又把环断开 形成新的链表
  • Linux -- 线程(一)

    线程 一 线程概念 Linux内核线程实现原理 线程共享资源 线程非共享资源 线程的优点 线程的缺点 创建一个线程 线程的退出 线程退出的注意事项 线程的回收 多线程练习 杀死线程 取消点 线程分离 线程属性 线程属性 分离态 Native
  • C++简单人机交互——走迷宫

    一个简单的小方块走迷宫程序 include
  • webpack 配置介绍

    一 webpack webpack 仅是一个打包工具 不会处理打包过程的东西例如 es6等新特性 如果需要处理这些新特性需要配置单独的加载bebblle loader 等 devDependencies webpack 5 76 3 打包工
  • Android攻城狮—全套必备神级工具(开发,插件,效率)

    http www jianshu com p 0911efbf8009
  • Centos6.4 用rpm方式安装MySql5.6

    1 查看系统是否安装了MySQL 使用命令 rpm qa grep mysql 2 卸载已安装的MySQL 卸载mysql命令如下 rpm e nodeps mysql libs 5 1 61 4 el6 x86 64 要将 var lib
  • 第14.15节 爬虫实战1:使用Python和selenium实现csdn博文点赞

    写在前面 本文仅供参考学习 请勿用作它途 禁止转载 在开始学爬虫时 学习了csdn博客专家 id 明天依旧可好 柯尊柏 实战项目二 实现CSDN自动点赞 的文章 文章介绍了通过Python和selenium模块实现csdn指定文章点赞的过程
  • argis sde 服务连接,arcgis9.3版本场合,arcgis10.2采用直接连接数据库

    1 arc gis 9 3 sde 需要创建 服务 即需要安装arcsde 2 台 或者 多台 机器通过服务连接 2 通过服务连接数据服务
  • JMeter websocket接口测试

    前言 在一个网站中 很多数据需要即时更新 比如期货交易类的用户资产 在以前 这种功能的实现一般使用http轮询 即客户端用定时任务每隔一段时间向服务器发送查询请求来获取最新值 这种方式的弊端显而易见 有可能造成数据更新不及时 如果前端轮询频
  • 黑马程序员----职工管理系统(c++)

    目录 一 项目概要 二 代码 三 演示效果 四 项目注意点 五 一点点感悟 一 项目概要 1 面向角色 普通员工 经理和老板 2 主要功能 增加员工信息 显示员工信息 删除离职员工信息 修改员工信息 查找员工信息 按照编号排序 清空所有文档
  • PVE虚拟化平台之创建虚拟机流程

    PVE虚拟化平台之创建虚拟机流程 一 PVE介绍今天 2022 年 11 月 17 日 有236篇文章可用 二 登录PVE平台 三 登录PVE系统检查环境 1 进入PVE底层系统的shell命令终端 2 检查系统版本 3 检查本地磁盘存储
  • SQLMAP中文翻译详细解读

    H 1 5 5 stable V http sqlmap org 使用示例 python3 sqlmap 选项 选项 h help 显示基础帮助信息然后退出 hh 显示更详细的帮助信息然后退出 version 显示程序版本号然后退出 v V
  • JavaScript:异步编程

    异步编程是一种编程模式 JavaScript 是单线程的 只有一个线程可以执行代码 这意味着 所有代码都只能在一个线程中按顺序执行 这很容易导致代码执行的阻塞 代码的每一个语句都需要被执行 为了完成某个计算任务需要一定的执行时间 不同任务的
  • js判断设备是PC端还是移动端

    方法一 function IsPC var userAgentInfo navigator userAgent var Agents Android iPhone SymbianOS Windows Phone iPad iPod var
  • 你知道C语言中的C是怎么来的吗?

    为什么是C C语言中的C怎么来的 各位 我们天天讲C语言 学C语言 那你知道C语言中的C是怎么来的吗 今天我们就给大家简单讲一下 其实这也要从C语言的发展史或者由来说起了 让我们先来看个小视频吧 海风教育退费 海风教育在线辅导0元一对一试听
  • 计算一个3位数各个位数之和

    1 输入一个三位数 n input 输入一个三位数 将这个三位数转换为整型 n int n 2 先除以一百得出百位数 b100 n 100 3 取余一百除以十得出十位数 b10 n 10 10 4 取余十得出个位数 b1 n 10 5 求和
  • Python使用smtplib库,实现自动发送邮件源码demo

    发送多种类型的邮件 import smtplib from email mime text import MIMEText 发送多种类型的邮件 from email mime multipart import MIMEMultipart m
  • mysql不用窗口函数,后面加一列序号

    前言 在后端开发中最常用的数据库还是比较稳定的5 8 而窗口函数是只有在mysql8以上才有的 然后在开发中有个需要排序序号的需求 翻找资料 问AI得出结论可以实现 列出方法 如果你使用的是MySQL 5 7版本 而没有窗口函数的功能 你仍
  • 数据结构作业3

    问题 S 算法2 25 有序单链表删除重复元素 附加代码模式 内存限制 128 MB时间限制 1 000 S 评测方式 文本比较命题人 2011014323 提交 3365解决 1604 返回比赛提交提交记录侧边提交 题目描述 根据一个递增