lista1.cpp

来自「STRUCTURI DE DATE SI ALGORITMI」· C++ 代码 · 共 110 行

CPP
110
字号
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

 struct NUM{
	int nr;
	NUM*next;
	};

 NUM*head=NULL;

 void push(int n){
	NUM*p;
	p=new NUM;
	p->nr=n;
	p->next=NULL;
	if(head==NULL){
		head=p;
		head->next=NULL;
	}
	else{
		p->next=head;
		head=p;
	}
 }

 void wrt(void){
	NUM*p;
	for(p=head;p!=NULL;p=p->next)
		printf(" %d ",p->nr);
 }

 void vf(int a){
     NUM *p;
     int t=0;
     for(p=head;p!=NULL;p=p->next){
	if(p->nr==a) {
	  printf("\nEste!!");
	  t=1;
	  }
	  }
      if(t==0)
       printf("\nNU este!!!!!");
       }
   void ins(int x,int y){
       int i=1;
       NUM *p,*r;
       r=new NUM;
       r->nr=x;r->next=NULL;
       for(p=head;p!=NULL;p=p->next){
       if((y-1)==i) break;
       i++;
       }
       if(p==NULL) {
	printf("\nEROARE!!!!!");exit(1);
	}
	r->next=p->next;
	p->next=r;
	 }
   void ster(int y){
       int i=1;
       NUM *p,*r;
       r=new NUM;
       for(p=head;p!=NULL;p=p->next){
       if((y-1)==i) break;
       i++;
       }
       if(p==NULL) {
	printf("\nEROARE!!!!!");exit(1);
	}
	r=p->next;
	p->next=r->next;
	delete r;
	 }

 main(){
	char c,s[10];
	int i=0,t,f,x,y,e;
	clrscr();
	printf("INTRODU NUMERE INTREGI:");
	while((c=getchar())!='0'){
		if((c<'0'||c>'9')&&c!=' ') exit(1);
		if(c==' '){
			s[i]='\0';
			t=atoi(s);
			push(t);
			i=0;
		}
		else{
			s[i]=c;
			i++;
		}
	}
	wrt();
	printf("\nIntrodu nr pt verificare:");
	scanf("%d",&f);
	vf(f);
	printf("\nIntrodu nr:");
	scanf("%d",&x);
	printf("\nIntrodu pozitia :");
	scanf("%d",&y);
	ins(x,y);
	wrt();
	printf("\nIntrodu poz de stergere: ");
	scanf("%d",&e);
	ster(e);
	wrt();
	printf("\nTHE BEST!!!!!!");
	getche();
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?