一个C++数据结构问题 求大大详解QAQ!

针对带表头结点的单链表,试编写下列函数。

(1) 建立函数create:根据一维数组a[n]建立一个单链表,使单链表中各元素的次序与a[n]中各元素的次序相同,要求该程序的时间复杂性为O(n)。

(2) 定位函数Locate:在单链表中寻找第i个结点。若找到,则函数返回第i个结点的地址;若找不到,则函数返回NULL。

(3) 求最大值函数max:通过一趟遍历在单链表中确定值最大的结点位置及其值。

我想要程序W 谢谢啦

针对带表头结点的单链表,试编写下列函数。
struct Node
{
int data;
struct Node *next;
}*head=NULL;

(1) 建立函数create:根据一维数组a[n]建立一个单链表,使单链表中各元素的次序与a[n]中各元素的次序相同,要求该程序的时间复杂性为O(n)。

void create(int a[],int n)
{
struct Node *p,*q;
int i=0;
for(;i<n;i++)
{
p=new Node;
p->data=a[i];
p->next=NULL;
if(head==NULL)
{
head=p;
q=p;
}
else
{
q->next=p;
q=p;
}
}
}

(2) 定位函数Locate:在单链表中寻找第i个结点。若找到,则函数返回第i个结点的地址;若找不到,则函数返回NULL。

struct Node * Locate(int i)
{
struct Node *p;
p=head;
int num=1;
while(p!=NULL && num!=i)
{ p=p->next;num++;}

return p;

}

(3) 求最大值函数max:通过一趟遍历在单链表中确定值最大的结点位置及其值。
void Max()
{
struct Node *p;
p=head;
int d=p->data;
struct Node *q=p;
while(p!=NULL)
{
if(d<p->data)
{
d=p->data;
q=p;
}
p=p->next;
}
cout<<"最大值为:"<<d<<endl;
cout<<"最大值的位置:"<<q<<endl;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

c++ 使用Vector类,定义派生类matrix,实现矩阵基本运算
return At(0,0) * At(1,1) - At(0,1) * At(1, 0); case 3: return At(0,0) * At(1,1) * At(2,2) + At(0,1) * At(1,2) * At(2,0) + At(0,2) * At(1,0) * At(2,1) - (At(2,0) * At(1,1) * At(0,2) + At(2,1) * At(1,2) * At(0,0) + A...

求RMQ O(n)-O(1)超详细讲解!
这样我们就有了一个储存最值的数组,那么如何将它优化为O(1)呢?这里就说得到ST算法:询问时取k=ln(j-i+1)\/ln2即可,那么可以令A为i到2^k的块,和B为到2^k结束的长度为2^k的块;那么A,B都是区间[i,j]的子区间,所以即求A区间的最小值和B区间的最小值的最小值。这个时候动态规划为...

c++编写函数,完成根据省份的名称查找其省会的功能。
考题么?应该是侧重于考数据结构方面的东西,不是的话直接录入字符串类型的省会名称,然后挨着比对

...理由是什么??? 研究好久到处爬文还是搞不太懂QAQ 谢谢!!_百度...
算法的基本原理是上面这个样子,但不同的是用的数据结构不同,检查某个位置是否满足条件的方法也不同。为了提高效率,有各种优化策略,如多线程,多分配内存表示棋盘等。在具体解决该问题时,可以将其拆分为几个小问题。首先就是在棋盘上如何判断两个皇后是否能够相互攻击,在最初接触这个问题时,首先想到...

申请软件著作权的设计文档的模版
三、软件功能 1、总体介绍 2、总体流程图 3、功能描述(以其中一个功能为例)1) 功能1 详细介绍(包含的模块等)模块1 详细介绍(包含的模块等)实现方式 模块设计流程图 流程介绍 ……模块2 ……功能2 ……表述完毕后,还可进行总结性地描述或添加数据结构、参数表格的描述。如有不明可留言详解...

...优盘可以不要但是里面的数据有办法回复么·求解QAQ
否则过不了多长时间,U盘中的文件很有可能又会变成乱码。另外,恢复时,有一个技巧,就是当U盘出现问题后,不要再对U盘做任何增删改的操作,直接恢复成功率比较大,如果U盘出现问题后,还继续向里面复制或粘贴或修改,这就好比破坏了犯罪现场,也就是数据结构,想还原就更难了。请采纳。

哈尔滨工程大学哪些专业最值得读?
哈尔滨工程大学在船舶与海洋装备、海洋信息、船舶动力、先进核能与核安全等学科领域内尤为突出,在国家海防事业蒸蒸日上的当下,这所高校的发展潜力非常巨大。其优势学科(比如船舶与海洋工程等

哈尔滨工程大学哪些教授的课是必须要去蹭的?
胡老师是人文社会科学学院的一位资深教师,被评为哈工程“四大名嘴”之一(个人认为胡老师是四大名嘴之首),由此可见其口才和教学能力之强悍。多次被评为“最受学生欢迎的老师”,每到学期末开始选下一学期的课程时,许多人熬夜等待,就是为了选胡泊老师开设的选修课,因为选他的课的人数太多,有的同学...

相似回答