선형 링크 삽입 및 삭제
2458 단어 데이터 구조 실험
http://www.bnuoj.com/contest/problem_show.php?pid=4101
선형 표 삽입 및 삭제 작업
Input
첫 번 째 줄 은 선형 표 에 있 는 데이터 요소 의 수량 N, 1 < = N < = 10 을 보 여 줍 니 다.두 번 째 줄 은 N 개의 정 수 를 보 여 줍 니 다. a1, a2, a3. aN, 정수 간 에 하나의 빈 칸 으로 분리 하여 선형 으로 표 현 된 데이터 요 소 를 표시 합 니 다.세 번 째 줄 은 두 개의 정수 K, E1, 1 & lt; = K & gt; = N 을 보 여 주 며, 두 번 째 요소 앞 에 값 이 E1 인 데이터 요 소 를 삽입 하 는 것 을 나타 낸다.네 번 째 줄 은 정수 E2 를 보 여 주 며 선형 표 에서 첫 번 째 값 이 E2 인 데이터 요 소 를 삭제 하 는 것 을 나타 낸다 (선형 표 에 반드시 E2 인 데이터 요소 가 존재 한다 고 가정 함).
Output
한 줄 에 순서대로 출력 하여 삽입 하고 삭제 한 후 선형 표 의 모든 데이터 요 소 를 데이터 요소 간 에 빈 칸 으로 분리 합 니 다.
Sample Input
8
12 13 21 24 28 30 42 77
5 25
24
Sample Output
12 13 21 25 28 30 42 77
AC 코드:
#include
#include
typedef struct Node
{
int date;
struct Node *next;
}Node,*LinkList;
void CreateList(LinkList &pa,int n) //
{
LinkList p,q;
//p=(LinkList)malloc(sizeof(Node));
p=pa;
int i,a;
for(i=0;idate));
p->next=q;
q->next=NULL;
p=q;
}
}
void print(LinkList &pa,int n) // pa ,n
{
int i;
LinkList p=pa->next;
printf("%d",p->date);
for(i=2;i<=n;++i)
{
p=p->next;
printf(" %d",p->date);
}
printf("
");
}
bool DeleteList(LinkList &pa,int m,int &n) // m
{
LinkList p=pa,q=NULL;
int j=1;
while(p&&j<=n)
{
if(p->next->date==m)
{ q=p->next;
p->next=p->next->next;
free(q);n--;
//printf("%d#
",n);
return true;
}
j++;
p=p->next;
}
return false;
}
bool InsertList(LinkList &pa,int k,int E1,int &n) //k ( E1)
{
LinkList p=pa,s;
int j=0; //j=0
while(p->next&&j<=k-1)
{
if(j==k-1)
{
s=(LinkList)malloc(sizeof(Node));
s->date=E1;
s->next=p->next;
p->next=s;
n++;
return true;
}
j++;
p=p->next;
}
return false;
}
int main()
{
LinkList L,p; //L
L=(LinkList)malloc(sizeof(Node));
int N,i,K,E1,E2;
while(~scanf("%d",&N)){
CreateList(L,N);
scanf("%d%d",&K,&E1);
InsertList(L,K,E1,N);
scanf("%d",&E2);
DeleteList(L,E2,N);
print(L,N);
}
//while(1);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
회귀 구해 단일 체인표의 결점 개수묘사 단사슬표를 이용하여 하나의 정수 서열을 표시하고 귀속적인 방법을 이용하여 단사슬표의 결점의 개수를 계산한다. 입력 다중 그룹 데이터, 각 그룹 데이터는 두 줄, 첫 번째 행위 체인 테이블의 길이 n, 두 번째 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.