导航:首页 > 源码编译 > 一趟连接算法

一趟连接算法

发布时间:2022-08-19 03:41:08

㈠ 设计一个算法,通过一趟遍历确定在单链表中值最大的节点

#include"stdlib.h"

#include"stdio.h"

#include"time.h"
struct node
{
int data;
struct node *link;
};
void main()
{
int i,max,t;
struct node *head,*u,*v,*p,**h;
randomize();
for(i=1;i<10;i++)
{
u=(struct node *)malloc(sizeof(struct node));
u->link=NULL;
t=rand();
u->data=t;
if(i==1) {head=v=u;}
else {v->link=u;v=u;}
}

max=head->data;
u=head;
for(p=head;p;p=p->link)
if(max<p->data) {max=p->data;u=p;} //最大结点在u中

for(v=head;v;v=v->link)
printf(" %d ",v->data);
printf("\nmax=%d\n",max);
return ;
}

㈡ 谁能一句话解释快速排序算法一趟排序的思想

使小于选定基准的数据在一边,大于的在另一边
而后分而治之

㈢ 设有一个表头为first的单链表,试设计一个算法,通过遍历一趟链表,将链表中所有节点按逆序链接

假设first为指向第一个节点的指针
reverse(first)
{
if(first==NULL)
return NULL;
else if(first->next==NULL)
return first;
p,q,r;
q=first;
p=first->next;
while(p!=NULL)
{
r=p->next;
p->next=q;
q=p
p=r;
}
return q;
}

㈣ 设计一个算法,通过一趟遍历确定长度为n的单链表中值最大的结点。

准备俩变量val和pos,val初值为链表头的值,pos初值为链表头的位置
遍历链表。碰见比val大的值,就把这个值放到val里,再把pos的值换成当前结点的位置。
遍历完了之后pos的值是就是最大值所在的结点,val是最大值。
……这个算法很难想吗?这个算法都想不出来的话您是咋学编程的?

㈤ 设有一个表头为first的单链表,式设计一个算法,通过遍历一趟链表,将链表中所有节点按逆序链接

算法思想
一次遍历链表,并将结点指针反转,在逆置的时候要注意单链表两端的处理(即表头结点和表尾结点)
LinkList ReverseLinkList( LinkList L)
{
Lnode *p, *pre, *s;
p = L -> next;
s = p -> next;
p -> next = NULL;//处理第一个结点,指针指向NULL,因为逆置后它将是尾结点
while( s != NULL) //当s为空的时候说明p已经指向链表的最后节点了
{
pre = p;
p = s;
s = s ->next;
p -> next = pre; //指针反转
}
L ->next = p; //处理最后一个结点,头结点的指针指向它

return L;
}

㈥ 数据结构中的一趟分配算法什么意思

简单说就是解决一个问题的最多步骤次数
这里 因为有三个循环
所以最多要n^3次(n*n*n)所以时间复杂度是o(n^3)

㈦ 设有一个表头指针的单链表,试设计一个算法,通过历遍一趟链表,将链表的所有的接点的链接的方向逆转。

//对链表实现转置的函数
template<class T>
void List<T>:: reverse(){
//转置函数的实现
LinkNode<T>*h=first,*p,*q;
p=h->link;
h->link=NULL;
while(p!=NULL)
{
q=p; //把q指向头结点
p=p->link;//让p指向他的下一个结点
q->link=h->link;//把h->link这个空结点连接为q的下一个结点
h->link=q; //把 q的位置用h->link来代替
}
//感觉你这程序是不是有错误

阅读全文

与一趟连接算法相关的资料

热点内容
组织胚胎学pdf 浏览:844
linux查看发包 浏览:496
加密货币交易所暴利时代 浏览:824
歌词滚动效果android 浏览:14
程序员一天的六场战斗 浏览:797
自制压缩泵的做法 浏览:622
androidstring变量 浏览:247
数学乘法速算法 浏览:986
压缩包制作后照片顺序怎么改 浏览:680
fibonacci数列算法 浏览:775
产品经理要和程序员吵架吗 浏览:252
grub2命令行 浏览:618
无法获取加密卡信息 浏览:774
云服务器网卡充值 浏览:509
编程就是软件 浏览:49
服务器如何添加权限 浏览:437
引用指针编程 浏览:851
手机加密日记本苹果版下载 浏览:64
命令行括号 浏览:176
java程序升级 浏览:490