求助,紧急啊

#include <stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
typedef int Status;
typedef int ElemType;
typedef struct Lnode
{
     ElemType data;
     struct Lnode *next;
} Lnode, *Link ; 
typedef struct 
{
     Link last ; 
     int len ; 
}*LinkList ;
Status InitList( LinkList& L) 
{
	Link head;
	head=(Link)malloc(sizeof(Lnode)) ;
    if(head==NULL) return ERROR ;
	head->next=head ;
有错//	L->last=head; 
有错//	L->len=0; 
    return OK ;
}
Status GetElem_L( LinkList L, int i, ElemType& e ) 
{
	Link p; 
    int  j; 
	if( i<1 || i>L->len ) return ERROR ;
    // L->last->next 指向头结点
	p = L->last->next->next ;
	for(j=1;j<i;j++) p = p->next ;
    e = p->data; 
}
Status ListInsert(LinkList L, int i, ElemType e )
{
	Link p,s;
	int j; 
	if(i<1||i>L->len+1) return ERROR;
	p=L->last->next->next; 
	for(j=1;j<i-1;j++) p=p->next;
	s=(Link)malloc(sizeof(Lnode));
	s->data=e;s->next=p->next;p->next=s;
	//如果是在表尾插入,需要修改尾指针
	if(i==L->len+1)
		L->last->data=s->data;
	L->len++;
}
Status ListDelete(LinkList L, int i, ElemType& e )
{
	Link p,q;
	int j;
	// 排除空表的情况
	if(i<1||i>L->len) 
		return ERROR ;
	q = L->last->next->next; 
	for(j=1;j<i-1;j++) 
		q = q->next ;
	p = q->next ;
	q->next = p->next ;
	if( i == L->len )
		L->last = q ;
	e = p->data;
	free(p);
	L->len--;
}
void main()
{
	int M,N,j,i,e;
    LinkList L;
	printf("请输入M和N的值:");
 	scanf("%d%d",&M,&N);
    InitList(L);
	for(i=1;i<=N;i++)
		ListInsert(L,i,i);
	i = 1 ;  j = 0 ; 
    while(L->len)
	{  
         GetElem_L(L,i,e); 
         j++;
         if (j==M)  
		 { 
			 ListDelete(L,i,e);
			 printf("%d ",e);
			 j=0;
		 }
         else
			 i++;
	}
}



求帮忙看看错误的地方要怎么改啊!紧急啊
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值