실험 이선형 표의 체인식 표시와 실현
#include<stdio.h>
#include<stdlib.h>
typedef int elemtype;
typedef struct node
{
elemtype data;
struct node *next;
}node;
struct node *head;
int n;
void bulid1()//
{
struct node *p,*q;
q=head;
int i;
for (i=1;i<=n;i++)
{
p=(struct node*)malloc(sizeof(struct node));
scanf("%d",&p->data);
q->next=p;
p->next=NULL;
q=p;
}
}
void bulid2()//
{
struct node *p;
int i;
for (i=1;i<=n;i++)
{
p=(struct node*)malloc(sizeof(struct node));
scanf("%d",&p->data);
p->next=head->next;
head->next=p;
}
}
void insert(int num,int pos)
{
int i;
struct node *p,*q;
q=head;
for (i=1;i<=pos;i++)
q=q->next;
p=(struct node*)malloc(sizeof(struct node));
p->data=num;
p->next=q->next;
q->next=p;
}
void Delete(int pos)
{
int i;
struct node *q,*p;
q=head;
for (i=1;i<pos;i++)
q=q->next;
p=q->next->next;
q->next=p;
}
int find(int key)
{
struct node *p=head;
int i=0;
while (head->data!=key)
{
head=head->next;
++i;
if (head->next==NULL) {i=-1; break;}
}
return i;
}
void output()
{
struct node *h=head;
h=h->next;
while (h->next!=NULL)
{
printf("%d ",h->data);
h=h->next;
}
printf("%d
",h->data);
}
int main()
{
int num,pos;
head=(struct node*)malloc(sizeof(struct node));
head->next=NULL;
scanf("%d",&n);
bulid1();
output();
scanf("%d%d",&num,&pos);
insert(num,pos);
output();
scanf("%d",&pos);
Delete(pos);
output();
scanf("%d",&num);
printf("%d",find(num));
head=(struct node*)malloc(sizeof(struct node));
head->next=NULL;
scanf("%d",&n);
bulid2();
output();
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ruby의 구조체 클래스은 접근자 메서드가 있는 속성 모음입니다. 클래스를 명시적으로 작성할 필요 없이. Struct 클래스는 구성원 및 해당 값 집합을 포함하는 새 하위 클래스를 생성합니다. 각 멤버에 대해 #attr_accessor 와...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.