단방향 순환 체인 테이블 요셉 링 구현 (C 언어)
13563 단어 프로그래밍 문제
#include
#include // malloc、free
/* */
typedef int ElemType;
/* */
typedef struct LNode
{
ElemType data; //
struct LNode* next; //
}LNode;
typedef LNode* LinkList; //
///*——————— ———————*///
LinkList Create(int m);
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ m ┃
┃ , ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
void deleteLink(LinkList head,int s,int n,int m);
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ ┃
┃ head: ┃
┃ s: s ┃
┃ n: n ┃
┃ m: ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
///*——————— ———————*///
int main()
{
int m,s,n;
LinkList head; //
// m,s,n
printf(" m=");
scanf("%d",&m);
printf("
s=");
scanf("%d",&s);
printf("
n=");
scanf("%d",&n);
printf("
");
//
head=Create(m);
deleteLink(head,s,n,m);
system("pause");
return 0;
}
///*—————— ———————*///
LinkList Create(int m)
{
LinkList rear,head,tmp;
int i=0;
rear=(LNode*)malloc(sizeof(LNode));
if(rear==NULL)
{
printf(" !");
}
head=rear;
// m
for(i=1;i<=m;i++)
{
tmp=(LNode*)malloc(sizeof(LNode));
if(tmp==NULL)
{
printf(" !");
}
tmp->data=i; //
rear->next=tmp; //
rear=tmp;
}
// ,
rear->next=head->next;
//
return head;
}
void deleteLink(LinkList head,int s,int n,int m)
{
int i,j;
LinkList pre,tmp;
pre=head->next;
//
for(i=1;i<s;i++)
{
pre=pre->next;
}
for(j=1;j<=m;j++) // m ,
{
// n pre
for(i=0;i<n-2;i++)
{
pre=pre->next;
}
printf(" %d :%-3d
",j,pre->next->data);
//
tmp=pre->next; // pre ,tmp
pre->next=tmp->next; // tmp
free(tmp); // tmp
pre=pre->next; //
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
검지offer-지그재그 인쇄 두 갈래 나무제목 설명은 함수를 지그재그로 인쇄하는 두 갈래 트리, 즉 첫 번째 줄은 왼쪽에서 오른쪽으로, 두 번째 줄은 오른쪽에서 왼쪽으로, 세 번째 줄은 왼쪽에서 오른쪽으로, 다른 줄은 이와 같이 인쇄합니다. 한 층의 노드를...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.