讲评表2解析Word格式文档下载.docx
- 文档编号:13538559
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:32
- 大小:19.68KB
讲评表2解析Word格式文档下载.docx
《讲评表2解析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《讲评表2解析Word格式文档下载.docx(32页珍藏版)》请在冰豆网上搜索。
19
20
#include<
iostream>
usingnamespacestd;
intmain()
{
intn,num,i,t,a[10],j,k,l,flag;
while(cin>
>
n)
{
num=0;
for(i=1;
i<
n;
i++)
{
t=i;
flag=0;
memset(a,0,sizeof(a));
while(t)//判断每个t是否为“特殊的数字”
{
j=t%10;
if(a[j]==0)a[j]=1;
else
{flag=1;
break;
}
t=t/10;
}
if(flag==0)num++;
}
cout<
<
num<
endl;
return0;
}
1008:
单链表中删除重复值
设计算法实现在单链表中删去相同的多余结点,然后按从小到大输出,如若单链表中不存在相同的结点,则直接从小到大输出单链表。
输入数据有多组。
每组数据包括2行,第一行表示单链表的长度n(不会超过100);
第二行表示单链表的所有元素。
输出执行操作后的单链表。
每个结果占一行。
5
13739
13579
1379
structNode
intdata;
Node*next;
};
classLinkList
public:
LinkList(inta[],intn);
voidPrintList();
voidDelete();
voidSort();
private:
Node*first;
intlen;
LinkList:
:
LinkList(inta[],intn)
first=newNode;
Node*r,*s;
r=first;
for(inti=0;
i<
i++)
s=newNode;
s->
data=a[i];
r->
next=s;
r=s;
r->
next=NULL;
len=n;
voidLinkList:
PrintList()
Node*p;
p=first->
next;
if(p)
p->
data;
p=p->
while(p)
cout<
"
"
p=p->
Delete()
Node*p,*q;
if(first->
next)
p=first->
q=p->
while(q)
Node*t=first->
while(t!
=q)
if(t->
data==q->
data)
break;
t=t->
if(t!
=q)//有重复
p->
next=q->
deleteq;
q=p->
len--;
else
p=q;
Sort()
inti,j,t;
for(i=0;
len-1;
for(j=0;
j<
len-i-1;
j++)
if(p->
data>
q->
t=p->
data=q->
q->
data=t;
p=q;
q=p->
inta[100],i,n;
for(i=0;
cin>
a[i];
LinkListL(a,n);
L.Delete();
L.Sort();
L.PrintList();
1003:
求相同后缀首字符
现用单链表保存字符串,假定有两个字符串存在相同的后缀,请输出该相同后缀的首字符。
有多组数据,每组包含两个字符串。
(串长小于1600)
输出该相同后缀的首字符。
loading
being
cat
eat
i
a
string>
constintMAXSIZE=1600;
chardata;
Node*creat(chara[],intn)
//生成头结点
//尾指针初始化
//为每个数组元素建立一个结点
//插入到终端结点之后
//单链表建立完毕,将终端结点的指针域置空
returnfirst;
voidSearch(Node*LA,intn,Node*LB,intm)
inti,j;
p=LA->
q=LB->
i=0;
j=n-m;
while(p&
&
j)
i++;
q)
if(p->
break;
else
q=q->
data<
chara[MAXSIZE],b[MAXSIZE];
intn,m;
Node*LA,*LB;
a>
b)
n=strlen(a);
m=strlen(b);
if(n>
=m)
LA=creat(a,n);
LB=creat(b,m);
Search(LA,n,LB,m);
LA=creat(b,m);
LB=creat(a,n);
Search(LA,m,LB,n);
单链表连续删除
设有非空单链表A,现要求从单链表A中删除自第i个元素起的共len个元素。
注意:
该题未用单链表完成的为0分!
Input9
输入数据有多组;
每组第一行为单链表A的元素个数n(0<
n<
20);
每组第二行为单链表A的各个元素;
每组第三行为两个整数i和len,注意len可为0。
对于每组数据,输出为一行,输出处理后单链表A中的各个元素,每两个元素之间有一空格,每行最后均无空格。
若输入的i和len中有任一数不合法,则不做任何处理,只输出“dataerror”。
12345
23
15
voidDelete(inti,intlen);
Delete(inti,intlen)
intj;
Node*p,*q,*t,*r;
if(len>
0)
p=first;
j=0;
while(j<
i-1)
j++;
q=p;
len)
t=p->
p->
while(t!
r=t->
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 讲评 解析