📄 sub1.cpp
字号:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
typedef int Atom;
struct Element
{
Atom data;
struct Element* Link;
};
typedef Element* Lista;
void insert(Element*& l,Atom a);
void eroare(void);
void initlista(Element*& p);
void afislist(Element* p);
int caut(Element*& l,int n);
void ordlist(Element*& l,Element*& p);
void sortare(Element*& l);
void main()
{
Element *cap,*l;
int n,r;
clrscr();
initlista(cap);
printf("\nIntrodu lista:");
scanf("%d",&n);
while(n!=0)
{
insert(cap,n);
scanf("%d",&n);
}
printf("\nLista este:\n");
afislist(cap);
printf("\nElementul cautat este :");
scanf("%d",&r);
if(caut(cap,r))
printf("\nElementul %d se afla in lista!",r);
else
printf("\nElementul %d NU se afla in lista!",r);
printf("\nLista sortata este:\n");
sortare(cap);
afislist(cap);
getch();
}
void eroare(void)
{
printf("\n\tEROARE! Caracter NENUMERIC!...");
getch();
exit(1);
}
void insert(Element*&l,Atom a)
{
Element * X;
X=new Element;
X->data=a;
X->Link=l;
l=X;
}
void initlista(Element*& l)
{
l=0;
}
void afislist(Element* l)
{
Element* p;
p=l;
while(p!=0)
{
printf(" %d ",p->data);
p=p->Link;
}
}
int caut(Element*& l,int n)
{
Element *p;
p=l;
while(p!=0)
{
if(p->data==n)
return 1;
p=p->Link;
}
return 0;
}
void ordlist(Element*& l,Element*& p)
{
Element *q;
if(l==0||l->data>p->data)
{
p->Link=l;
l=p;
}
else
{
q=l;
while(q->Link!=NULL &&q->Link->data<p->data)
q=q->Link;
p->Link=q->Link; // inserare in spate
q->Link=p; // ----------
}
}
void sortare(Element*& l)
{
Element *p,*q;
q=NULL;
while(l!=0)
{
p=l;
l=l->Link;
ordlist(q,p);
}
l=q;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -