⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sub1.cpp

📁 STRUCTURI DE DATE SI ALGORITMI
💻 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 + -