C语言实现线性表的逆置问题,顺序和单链表。在线等高手

 我来答
生还是为你
2012-10-10 · TA获得超过223个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:110万
展开全部
逆置有两种方法,第一是把所有节点反过来。还有一种就是改变节点中的值。
第一种情况,其实可以考虑用头插法,来实现逆置。
下面的算法是基于头插法的思想,逆置链表的,仅供参考。
LinkList anti_linklist(LinkList demo)
{
LInkList *p,*q;//work pointer
LinkList head;
head=new LinkList();
head->next=null;//init head pointer
p=demo->head->next;//make p points to the first node
if(p==null)
return null;//the linklist is null
while(p!=null)
{
q=p;
q->next=head->next;
head->next=q;
p=p->next;
}
}

这个是我回答之前的一个问题的答案。供你参考。
yizushaonian
2012-10-10 · TA获得超过152个赞
知道答主
回答量:55
采纳率:0%
帮助的人:45.2万
展开全部
#include<stdio.h>

type revert(type const *typeArray ,int length )
{
for(int i = 0;i<length;i++)
{
type temp = typeArray[i];
typeArray[i] = typeArray[length-1-i];
typeArray[length-1-i] = temp;
}
}

自己写main函数调用,把所有type换成你要用到的类型(int、float等),如果是char, typeArray[length-1-i]换成typeArray[length-2-i]。(最后一个字符是‘\n’)。C语言无法知道数组中已经赋值的元素的个数,唯一的办法是你自己在初始化数组的时候记录数组长度length。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式