데이터 구조 실습 2 Debug
#include<stdafx.h>
#include<stdlib.h>
typedef struct student
{ int num ;
int score ;
struct student *next ;
}ST;
#define LEN sizeof(ST)
int n;
ST *creat(void)
{
ST *p1,*p2,*head=NULL;
int n=0;
p1=(ST *) malloc (LEN); //
if(p1==NULL)
{
printf("
No enough memory!
");exit(0);
}
scanf("%d %d",&p1->num,&p1->score);
while ( p1->num!=0 )
{
n=n+1;// 1
if(n==1)head=p1;// n 1, p1
else p2->next=p1;
p2=p1;// p2 p1
p1=(ST *) malloc (LEN);//p1
if(p1==NULL)
{
printf("
No enough memory!
");exit(0);
}
scanf("%d %d",&p1->num, &p1->score);
}
p2->next =NULL; //
free(p1);// p1
return(head);
}
void list(ST *head)
{
ST *p;
p=head;
while (p!=NULL)
{
printf("%d,%d
",p->num,p->score);
p=p->next ;
}
}
ST *del(ST *head, int num)
{
ST *p,*q=NULL;
p=head;
while((num!=p->num)&&(p->next!=NULL))
{
q=p;
p=p->next;
}
if(num==p->num)
{
if(p==head)head=p->next;//
else q->next=p->next;//
free(p); //
n=n-1; // 1
printf("deleted !
");
}
else printf("can not delete!
");
return(head);//
}
ST *insert(ST *head)
{
ST *p0,*p1,*p2;
p1=head;
p0=(ST*)malloc(LEN);
scanf("%d%d",&p0->num,&p0->score);
if(head==NULL)// ,
{
head=p0;
p0->next=NULL;
}
else
{
while((p0->num>p1->num)&&(p1->next!=NULL))
{
p2=p1;
p1=p1->next;
}//
if(p0->num<=p1->num)
{
if(head==p1)head=p0;//
else p2->next=p0;//
p0->next=p1;
}
else
{
p1->next=p0;p0->next=NULL;
}//
}
n++;// 1
return( head ) ;
}
void main()
{
ST *h=NULL;
h=creat();
list(h);
h=del(h,2);
list(h);
h=insert(h);
list(h);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.