- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
会计学;1.顺序存储结构;2.链式存储结构;1.顺序存储结构;;void inverse(LinkList L) {
// 逆置带头结点的单链表 L
p=L-next; L-next=NULL;
while ( p) {
succ=p-next; // succ指向*p的后继
p-next=L-next;
L-next=p; // *p插入在头结点之后
p = succ;
}
};void inverse(LinkList L) {
p=L-next; pre=NULL;
while ( p) {
succ=p-next; // succ指向*p的后继
p-next=pre; pre=p;
p = succ;}
L-next=pre;
};1)void inverse(LinkList L) {//思路直接逆置
// 逆置不带头结点的单链表 L
p= NULL; //p记录刚逆置的结点
q=L;//q记录将要逆置的结点
while ( q!=NULL) {
L=L-next;
q-next=p;
p = q;
q = L;
}
L=p;
};void inverse(LinkList L) {
// 逆置带头结点的单循环链表L
p=L-next; L-next=L;
while (p!=L) {
r=p-next;
p-next=L-next;
L-next=p;
p=r;
}
};void inverse(LinkList p0) {
// 逆置不带头结点的单循环链表p0 ,逆转后链表头指针仍为p0
p= p0; q=NULL;
while (p-next!= p0) {
r=p-next; p-next=q;
q=p; p=r;
}
p-next=q; p0-next=p; p0=p;
};分析:应先找到第i-1个结点,记下第i个结点,然后从第i+1个结点开始直至第m个结点,依次插入到第i-1个结点之后,最后将暂存的第i个结点的指针指向原第m个结点(即倒置后第i-1个结点的后继)。;void ParrernInvert(LinkList L,int i,int m){
if (i1||i=m||m4){
printf(“参数错误!”); exit(0);}
p= L-next-next; pre=L-next; j=1;
while(ji-1){//查找第i-1个结点
pre=pre-next;j++;}
s=pre-next;//让s记下第i个结点
p=s-next;//p为活动指针
while(p!=s){ //逆置
q=p-next; p-next=pre-next;
pre-next=p; p=q;
}
s-next=pre-next;//原第i个结点指向原第m个结点
} ;分析:本题也是模式匹配问题,应先找出链表L2在链表L1中的出现位置,然后再将L1中的L2倒置。设L2在L1中出现时第一个字母结点的前驱的指针为p,最后一个字母结点在L1中为q所指结点的前??,则在保存p后继结点指针s的情况下,执行p-next=q,之后再将s到q结点的前驱依次插入到p结点之后。;void ParrernInvert(LinkList L1,LinkList L2){
p=L1;q=L1-next;s=L2-next;
while(q!=NULL s!=NULL) //匹配的过程
if (q-data==s-data) {
q=q-next;s-s-next;}
else{ p=p-next; q=p-next; s=L2-next;}
if (s==NULL){ //存在
r=p-next;//r为L1中的工作指针,
p-next=q;//将p与q链接
while(r!=q){
s=r-next; r-next=p-next;
p-next=r; r=s;
}
else pr
原创力文档


文档评论(0)