- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
链表翻转。给出一个链表和一个数k,比方链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现
1.
struct
Node{
2.
int
data;
3.
Node
*next;
};
5.
void
reverse(Node
*head,Node*end){
6.
if(head==NULL||end==NULL)return;
7.
Node
*pre=NULL,*cur=head,*stop=end-next;
8.
while
(cur!=stop){
9.
Node*nxt=cur-next;
10.
cur-next=pre;
11.
pre=cur;
12.
cur=nxt;
13.
}
}
16.
Node*
reverseAll(Node
*head,int
k){
17.
if(head==NULL||k=0)
return
NULL;
18.
Node
*cur=head;
19.
for(int
i=0;ik-1;i++){
20.
cur=cur-next;
21.
if(cur==NULL)
22.
break;
23.
}
24.
if(cur==NULL)
return
head;
25.
Node*
begin=cur-next,*end=begin;
26.
Node*
pre=head;
27.
reverse(head,cur);
28.
29.
while(begin!=NULL){
30.
for(int
i=0;ik-1;i++){
31.
end=end-next;
32.
if(end==NULL)
33.
break;
34.
}
35.
if(end==NULL){
36.
pre-next=begin;
37.
break;
38.
}
39.
else{
40.
Node
*nextbegin=end-next;
41.
reverse(begin,end);
42.
pre-next=end;
43.
pre=begin;
44.
begin=end=nextbegin;
45.
}
46.
}
47.
return
cur;
}
50.
int
main( ){
51.
int
a[]={1,2,3,4,5,6,7,8,9,10,11,12};
52.
Node*
nd[12];
53.
for
(int
i=0;i12;i++){
54.
nd[i]=newNode;
55.
nd[i]-next=NULL;
56.
nd[i]-data=a[i];
57.
}
58.
for
(int
i=0;i11;i++){
59.
nd[i]-next=nd[i+1];
60.
}
61.
Node
*tmp=reverseAll(nd[0],4);
62.
for(;tmp!=NULL;tmp=tmp-next){
63.
couttmp-dataendl;
64.
}
65.
system(pause);
66.
return
0;
67.
}
迅速幂运算
typedef
unsigned
int
T;
Tfoo(
T
a,Tb
)因子不包括自己)
方法是以空间换时间.申请能够寄存
500万个整数的数组Divisor,
数组寄存每个数
的亲和数.数n=Divisor[Divisor[n]]
即为一对亲和数.
1.
void
Amicable_Pair(int
n)
2.
{
3.
int*num=new
int
[n];
4.
for(int
i=0;in;i++)
5.
num[i]=1;
6.
for(int
i=2;i=n/2;i++)
7.
{
8.
intj=i+i;
9.
while(jn)
10.
{
11.
num[j]+=i;
12.
j+=i;
13.
}
14.
}//
求出1-n的全部约数(除掉自己)
15.
for
(int
i=220;in;i++)
16.
{
17.
if
(inum[i]num[i]ni==num[num[i]])
18.
coutinum[i]endl;
19.
}
20.
delete[]
num;
21.
}
您可能关注的文档
最近下载
- 2025年三年级上册科学全册知识点+实验总结.pdf VIP
- 2025年新人教版三年级上册语文全册教案.pdf
- 河北检察官入额考试真题及答案.doc VIP
- 国电建投内蒙古能源有限公司布连电厂调查研究报告.pdf VIP
- 测温元件安装检查记录(24张).doc VIP
- 最新人教版部编版语文四年级上册试题第三单元测试题(含答案).doc VIP
- 2025中国石化销售股份有限公司华北分公司招聘8人笔试备考题库及答案解析.docx VIP
- 案场客服考试试题及答案.doc VIP
- T_CIS 11001-2020 中药生产过程粉体混合均匀度在线检测 近.docx VIP
- 汽车底盘实训指导书范本.doc VIP
原创力文档


文档评论(0)