给定一个用无序链表表示的集合,需要在其上执行operator+(),operator*(),operator-(),Contains
(x),AddMember(x),DelMember(x),Min(),试写出它的类声明,并给出所有这些成员函数的实现。
(x),AddMember(x),DelMember(x),Min(),试写出它的类声明,并给出所有这些成员函数的实现。
对于任何开线段z,设其端点坐标为(x0,y0)和(x1,y1),则开线段z的长度定义为
算法设计:对于给定的开线段集合I和正整数k.计算开线段集合I的最长k可重线段集的长度.
数据输入:由文件input.txt提供输入数据.文件的第1行有2个正整数n和k,分别表示开线段的个数和开线段的可重叠数.接下来的n行,每行有4个整数,表示开线段的2个端点坐标.
结果输出:将计算的最长k可重线段集的长度输出到文件output.txt.
(1)编写一个算法,从任一给定的位置(pr,p)开始,将指针p右移k个结点。如果p移出链表,则将p为0,并让pr停留在链表最右边的结点上。
(2)编写一个算法,从任一给定的位置(pr,p)开始,将指针p左移k个结点。如果p移出链表,则将p置为0,并让pr停留在链表最左边的结点上。
算法设计:给定带有某种病毒的程序代码段集合,寻找程序代码段集合中每个代码段都包含的最长字符串.
数据输入:由文件input.txt提供输入数据.文件第一行有一个正整数n(1≤n≤100),表示程序代码段集合中代码段数.接下来的n行中,每行是一个程序代码段.每个程序代码段已经转换成由英文大小写字母组成的长度不超过1000的字符串.
结果输出:将找到的程序代码段集合中最长公共字符串输出到文件output.txt中.
文件的第1行输出最长公共字符串的长度.文件的第2行输出最长公共字符串.
面试题:在O(1)时间删除链表结点
题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除链表结点。链表结点与函数的定义如下:
struct List Node
{
int m_n Value;
ListNode* m_pNext;
};
void DeleteNode (listNode** plistHead, ListNode* pToBeDeleted);