1、1920#includeusing namespace std;int main() int n,num,i,t,a10,j,k,l,flag; while(cinn) num=0; for(i=1;in;i+) t=i; flag=0; memset(a,0,sizeof(a); while(t) /判断每个t是否为“特殊的数字” j=t%10; if(aj=0) aj=1; else flag=1;break; t=t/10; if(flag=0) num+; coutnumendl; return 0;1008:单链表中删除重复值设计算法实现在单链表中删去相同的多余结点,然后按从小到大输
2、出,如若单链表中不存在相同的结点,则直接从小到大输出单链表。输入数据有多组。每组数据包括2行,第一行表示单链表的长度n(不会超过100);第二行表示单链表的所有元素。输出执行操作后的单链表。每个结果占一行。51 3 7 3 91 3 5 7 91 3 7 9struct Node int data; Node *next;class LinkListpublic: LinkList(int a , int n); void PrintList( ); void Delete(); void Sort();private: Node *first; int len;LinkList:LinkLi
3、st(int a , int n) first=new Node; Node *r,*s; r=first; for (int i=0; idata=ai; r-next=s; r=s; r-next=NULL; len=n;void LinkList:PrintList( ) Node *p; p=first-next; if(p)p-data; p=p- while (p) coutDelete() Node *p,*q; if(first-next) p=first- q=p- while(q) Node *t=first- while(t!=q) if(t-data=q-data) b
4、reak; t=t- if(t!=q)/有重复 p-next=q- delete q; q=p- len-; else p=q;Sort() int i,j,t; for(i=0;len-1; for(j=0;jdataq- t=p-data=q- q-data=t; p=q; q=p- int a100,i,n; for(i=0; cinai; LinkList L(a,n); L.Delete(); L.Sort(); L.PrintList();1003:求相同后缀首字符 现用单链表保存字符串,假定有两个字符串存在相同的后缀,请输出该相同后缀的首字符。有多组数据,每组包含两个字符串。(串
5、长小于1600) 输出该相同后缀的首字符。loadingbeingcateatiastringconst int MAXSIZE=1600; char data;Node *creat(char a , int n) /生成头结点 /尾指针初始化 /为每个数组元素建立一个结点 /插入到终端结点之后 /单链表建立完毕,将终端结点的指针域置空 return first;void Search(Node *LA,int n,Node *LB,int m) int i,j; p=LA-q=LB- i=0;j=n-m; while(p&j) i+;q) if(p- break; else q=q-datab) 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(0n0) p=first; j=0; while(j p- while(t! r=t-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1