注册 登录
编程论坛 数据结构与算法

GetElem_L(LinkList L,int i,int *e)执行不了,大家帮忙看看

世界模型 发布于 2011-07-22 20:11, 729 次点击
程序代码:
/*
*单链表
*/
#include<stdio.h>
#include<stdlib.h>

#define MAX 100

typedef struct LNode
{
    int data;
    struct LNode *next;
}LNode,*LinkList;

void Create_List(LinkList L,int N)
{
    LinkList p;
    L=(LinkList)malloc(sizeof(LNode));

    L->next=NULL;                        //带头结点的单链表


    for(int i=N;i>0;i--)
    {
        p=(LinkList)malloc(sizeof(LNode));
        printf("please input the value of data:\n");
        scanf("%d",&p->data);
        p->next=L->next;
        L->next=p;
    }

}

int GetElem_L(LinkList L,int i,int *e)
{
    LinkList p;
    int j;

    p=L->next;        //p指向第一个结点
    j=1;            //计数器

    while(p!=NULL)
    {
        if(j<i)
        {
            p=p->next;
            ++j;
        }   
    }
    if(!p||j>i)
            return -1;
    e=&p->data;
    printf("%d\n",e);
    return 1;
}

int main()
{
    LinkList q;
    int n,i;
    int *e=NULL;

    q=(LinkList)malloc(sizeof(LNode));
    q->next=NULL;

    printf("please input the number of data:\n");
    scanf("%d",&n);

    Create_List(q,n);
    printf("please input the value number which need search:\n");
    scanf("%d",&i);
    GetElem_L(q,i,e);
    return 0;

}

3 回复
#2
世界模型2011-07-23 23:51
程序代码:
int GetElem_L(LinkList L,int i,int *e)
{
    LinkList p;
    int j;

    p=L->next;        //p指向第一个结点
    j=1;            //计数器

    while(p!=NULL)
    {
        if(j<i)
        {
            p=p->next;
            ++j;
            break;//
        }  
    }
    if(!p||j>i)
            return -1;
    e=&p->data;
    printf("%d\n",e);
    return 1;
}

#3
寒风中的细雨2011-07-24 13:00
程序代码:
/*
*单链表
*/
#include<stdio.h>
#include<stdlib.h>

#define MAX 100

typedef struct LNode
{
    int data;
    struct LNode *next;
}LNode,*LinkList;

void Create_List(LinkList L,int N)
{
    LinkList p;
    //L=(LinkList)malloc(sizeof(LNode));
   
//L->next=NULL;                        //带头结点的单链表


    for(int i=N;i>0;i--)
    {
        p=(LinkList)malloc(sizeof(LNode));
        printf("please input the value of data:\n");
        scanf("%d",&p->data);
        p->next=L->next;
        L->next=p;
    }
}

int GetElem_L(LinkList L,int i,int *e)
{
    LinkList p;
    int j;

    p=L->next;        //p指向第一个结点
    j=1;            //计数器

    while(p!=NULL)
    {
        if(j<i)
        {
            p=p->next;
            ++j;
        }
        else
        {
            break;
        }
    }
    if(!p)
    {
        return -1;
    }
    e=&p->data;
    printf("%d\n", *e);
    return 1;
}

int main()
{
    LinkList q;
    int n,i;
    int *e=NULL;

    q=(LinkList)malloc(sizeof(LNode));
    q->next=NULL;

    printf("please input the number of data:\n");
    scanf("%d",&n);

    Create_List(q,n);
    printf("please input the value number which need search:\n");
    scanf("%d",&i);
    GetElem_L(q,i,e);
    return 0;

}

#4
世界模型2011-07-24 13:07
哎,尽是些低级错误,
1