标题:求助!单向链表 工程文件 编译能通过但不能执行 求解!!!
只看楼主
swjcx1995
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-3-13
结帖率:0
已结贴  问题点数:10 回复次数:1 
求助!单向链表 工程文件 编译能通过但不能执行 求解!!!
//head.cpp内容
#include<iostream>
using namespace std;

#include"link_head.h"

bool CreateList(PNODE &L)
{   
    L->data=0;
    L->pNext=NULL;
    int e;
    PNODE p = new NODE;
    int s=MAX;
    while(--s)
    {
        PNODE p = new NODE;
        if(!p){cout<<"创建失败!"; return false;}
        cout<<"请输入您需要创建的新节点的值:"<<endl;
        cin>>e;
        p->data=e;
        p->pNext=L->pNext;
        L->pNext=p;        
    }
    return true;
}
bool GetElem(PNODE L,int i,Elemtype &e)
{
    PNODE p;
    p=L->pNext;int j=1;
    while(p&&j<i)
    {
        p=p->pNext;j++;
    }
    if(!p||j>i) return false;
    e=p->data;
    cout<<"您查找的元素为:"<<e<<endl;
    return true;
}

bool Insert(PNODE& L,int i,Elemtype e)
{
    PNODE p;
    p=L;int j=0;
    while(p&&j<i-1)
    {
        p=p->pNext;
        j++;
    }
    if(!p||j>i-1) return false;
    PNODE s;
    s=new NODE;
    s->data=e;s->pNext=p->pNext;p->pNext=s;
    return true;
}

bool Delete(PNODE& L,int i,Elemtype &e)
{
    PNODE p;
    p=L;int j=0;
    while(p->pNext&&j<i-1)
    {
        p=p->pNext;j++;
    }
    if(!(p->pNext)||j>i-1) return false;
    e=p->pNext->data;
    p->pNext=p->pNext->pNext;
    delete p->pNext;
    cout<<"您删除的元素为:"<<e<<endl;
    return true;

}

void ShowList(PNODE L)
{
    PNODE p=L;
    while(!p)
    {
        cout<<"链表的元素为:"<<p->data<<" ";
        p=p->pNext;
    }
}
//main.cpp内容
#include"link_head.h"

void main()
{
    Elemtype val;
    PNODE L;
    CreateList(L);
    Insert( L,1,1);
    Insert( L,2,2);
    Insert( L,3,3);
    Insert( L,4,4);
    Insert( L,5,5);
    Insert( L,6,6);
    Insert( L,7,7);
    Insert( L,8,8);
    Insert( L,9,9);
    Insert( L,10,10);
    ShowList(L);
    Delete(L,3,val);
    GetElem(L,10,val);
}
//head.h内容
#ifndef LINK_HEAD
#define LINK_HEAD

typedef int Elemtype;
#define MAX 10

typedef struct Node
{   
    Elemtype data;
    struct Node * pNext;
}NODE,*PNODE;

bool CreateList(PNODE &L);
bool GetElem(PNODE L,int i,Elemtype &e);
bool Delete(PNODE& L,int i,Elemtype &e);
bool Insert(PNODE& L,int i,Elemtype e);
void ShowList(PNODE L);

#endif
搜索更多相关主题的帖子: include return false 工程 
2014-03-13 21:24
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:10 
Delete 函數有問題


[fly]存在即是合理[/fly]
2014-03-15 23:30



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




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

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