回 帖 发 新 帖 刷新版面

主题:帮我看看一个链表的程序

刚写了几个函数就指针出错,找不到错误,请高手给看看
编译环境 vc++2005

#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include"stdlib.h"

enum Status {OK,ERROR};
typedef int ElemType;

typedef struct LNode
{
        ElemType      elem;
        struct LNode  *next;

} Node;

typedef struct
{
        Node *head;
        Node *tail;
        int length;
} LinList;

void MakeNode(Node *pNode,ElemType e)
{
        pNode=(Node*)malloc(sizeof(Node));
        pNode->next=NULL;
        pNode->elem=e;
}
void Free(Node *pNode)
{
}
void InitList(LinList *pList)
{
        MakeNode(pList->head,0);
        pList->tail=pList->head;
        pList->length=0;
}
void ClearList(LinList *pList)
{
        pList->length=0;
}
void DestroyList(LinList *pList)
{
        free(pList->head);
}
void InsFirst(LinList *pList,Node *pNewNode)
{
        if(pList->length==0)
        {
                pList->head->next=pNewNode;
                pNewNode->next=NULL;
    }
        else
        {
                pNewNode->next=pList->head->next;
                pList->head->next=pNewNode;
        }
        (pList->length)++;
}
void ListShow(LinList List)
{
        Node *p=(List.head)->next;
        while(p!=NULL)
        {
                printf("%d\t",p->elem);
                p=p->next;
        }
}





int _tmain(int argc, _TCHAR* argv[])
{
        LinList MyList;
        InitList(&MyList);
        Node *pNewNode_1;
        MakeNode(pNewNode_1,1);
        //InsFirst(&MyList,NewNode_1);
        //ListShow(MyList);
        return 0;
}

回复列表 (共2个回复)

沙发


void InitList(LinList **pList)
{
 }
因为主函数中的链表是个没有指向的,所以要用指向指针的指针

板凳

尾指针好象也没有处理额~~~~

我来回复

您尚未登录,请登录后再回复。点此登录或注册