标题:第一次写链表,望大家指导(猴子选大王)
只看楼主
coroner
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-3-15
结帖率:100%
已结贴  问题点数:20 回复次数:2 
第一次写链表,望大家指导(猴子选大王)
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct p
{
    int a;
    struct p *next;

}link;
void *creat(int n)
{
    int i;
    link *p1,*p2,*l;
    p1=(link*)malloc(sizeof(link));
    l=p1;
    for(i=0;i<n;i++)
    {
        p2=(link*)malloc(sizeof(link));
        p2->next=(link*)malloc(sizeof(link));
        p2->next=p1;
        p2=p1;
        p1=(link*)malloc(sizeof(link));
        p1->a=i+1;

    }
    p2->next=NULL;
    l->next=(link*)malloc(sizeof(link));
    l->next=p1;
    return p1;

}
void *delete (int q,link* pi)
{
    link* p0,*p1,*p5;
    p0=pi;
    int i;
    for(i=0;i<q-2;i++)
    {
        p0=p0->next;

    }
    p1=p0->next;
    p0->next=p1->next;
    p5=p1->next;
    p1->next=NULL;
    return p5;

}
int main()
{
    int j,c,d;
    link* head,*p3;
    scanf("%d%d",&c,&d);
    head=creat(c);
    p3=head;
    for(j=0;j<c-1;j++)
    {
        p3=delete(d,p3);

    }
    printf("%d",&p3->a);
    return 0;

}




谢谢
搜索更多相关主题的帖子: include next 大王 
2012-03-15 22:50
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
得分:14 

编程之路定要走完……
2012-03-15 23:17
coroner
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-3-15
得分:0 
我又新改了一个,还是不对,我用的是code block;



#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
    int data;
    struct node *next;
}node,*link;
void creat(link *l,int m)
{
    node *p,*q;
    int i;
    l=(link)malloc(sizeof(node));
    p=l;
    p->data=1;
    for(i=2;i<=m;i++)
    {
       q=(link)malloc(sizeof(node));
       q->data=i;
       p->next=q;
       p=q;
    }
    p->next=l;
}


void king(link* l,int n,int m)
{
    node *p,*q;
    int k;
    int j=1;
    p=l;
    for(;m>1;m--)
    {
        k=1;
        while(k!=n)
        {
            q=p;
            p=p->next;
            k++;
        }
        printf("第%d出的是%d",j++,p->data);
        q->next=p->next;
    }
    printf("大王%d",p->data);
}

int main()
{
    int m,n;
    link l;
    scanf("%d%d",&m,&n);
    creat(&l,m);
    king(&l,n,m);

    return 0;


}
2012-03-15 23:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-363337-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.032487 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved