• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

大家可以帮忙解决这个问题么,跟着老师打的可是输出乱码了

#include#include#includeusing namespace std;class Node{public:        int data;//数据域        Node *next;//指向下一个结点的指针域        void printNode();//打印数据域                 } ;class List {        public:                List() ; //构造函数,创建线性表                 ~List();//析构函数,释放线性表                void ClearList();//清空线性表                 bool ListEmpty();//判断线性表是否为空                 int ListLength();//获开当前线性表的长度                 bool GetElem(int i,Node *pNode); //获开指定元素的值              int LocateElem(Node *pNode); //找与给定结点相同数据域 的结点的位置                 bool PriorElem(Node *pCurrentNode,Node *pPreNode);//获开指定元素的前驱                 bool NextElem(Node *pCurrentNode,Node *pNextNode);//获开指定元素的后继             void ListTraverse();//遍历线性表                 bool ListInsert(int i,Node *pNode);        //在第i个结点插入元素                 bool ListDelete(int i,Node *pNode);//在删除第i个位置的元素                 bool ListInsertHead(Node *pNode);//从头结点后插入                bool ListInsertTail(Node *pNode);//从尾结后插入                         private:                Node *m_pList;//指向存储线性表的内存                 int m_iLength;//线性表的长度                 //对于链表不需要size,因为其内存空间可以临时申请  } ;class Person{        public:                string name;                string phone;                Person &operator=(Person &person);}; void Node::printNode(){        coutnext;                delete currentNode;                currentNode=temp;         }        m_pList->next=NULL;}bool List::ListEmpty(){        if(m_iLength==0)        {                return true;        }        else        {                return false;        }        //return m_iLength==0?true:false;}int List::ListLength(){        return m_iLength;}bool List::GetElem(int i,Node *pNode){        if(i=m_iLength)        {                return false;        }                Node *currentNode=m_pList;//临时变量找到结点        Node *currentNodeBefore=NULL;     for(int k=0;knext;        }                pNode->data=currentNode->data;        return true;}int List::LocateElem(Node *pNode)//找与pNode数据域相同的结点 {        Node *currentNode=m_pList;        while(currentNode->next!=NULL)        {                int count=0;                currentNode=currentNode->next;                if(currentNode->data==pNode->data)//数据域的对比                 {                        return count;                }                count++;        }        return -1;}//注意头结点数据域没意义,不能算头结点 bool List::PriorElem(Node *pCurrentNode,Node *pPreNode){        Node *currentNode=m_pList;        Node *tempNode=NULL;        while(currentNode->next!=NULL)        {                tempNode=currentNode;                currentNode=currentNode->next;                if(currentNode->data==pCurrentNode->data)//数据域的对比                 {                        if(tempNode==m_pList)//当前结点是否是头结点                         {                                return false;                         }                        pPreNode->data=tempNode->data;                        return true;                }        }        return false;}bool List::NextElem(Node *pCurrentNode,Node *pNextNode){        Node *currentNode=m_pList;                while(currentNode->next!=NULL)        {                currentNode=currentNode->next;                if(currentNode->data==pCurrentNode->data)//数据域的对比                 {                        if(currentNode->next==NULL)//当前结点是否是头结点                         {                                return false;                         }                        pNextNode->data=currentNode->data;                        return true;                }        }        return false;}void List::ListTraverse(){   Node *currentNode=m_pList;   while(currentNode->next!=NULL)   {           currentNode=currentNode->next;           currentNode->printNode();   }}bool List::ListInsert(int i,Node *pNode){        if(im_iLength)        {                return false;        }        Node *currentNode=m_pList;         for(int k=0;knext;                }        Node *newNode=new Node;        if(newNode==NULL)                {                        return false;//内存申请失败                  }        newNode->data=pNode->data;        newNode->next=currentNode->next;        currentNode->next=new Node;         return true; }bool List::ListDelete(int i,Node *pNode){    if(i=m_iLength)        {                return false;        }    Node *currentNode=m_pList;//临时变量找到结点        Node *currentNodeBefore=NULL;     for(int k=0;knext;        }                currentNodeBefore->next=currentNode->next;        pNode->data=currentNode->data;        delete currentNode;        m_iLength--;                return true;} bool List::ListInsertHead(Node *pNode)        {                Node *temp=m_pList->next;                Node *newNode=new Node;//从堆中申请内存,不能从栈中申请内存                 if(newNode==NULL)                {                        return false;//内存申请失败                 }                newNode->data=pNode->data;                 m_pList->next=newNode;                newNode->next=temp;                 return true;        }bool List::ListInsertTail(Node *pNode){        Node *currentNode=m_pList;        while(currentNode->next!=NULL)        {                currentNode=currentNode->next;        }        Node *newNode=new Node;         if(newNode==NULL)                {                        return false;//内存申请失败                  }        newNode->data=pNode->data;        newNode->next=NULL;        currentNode->next=new Node;        return true;}int main(void) {            Node node1;        node1.data=3;                Node node2;        node2.data=4;                Node node3;        node3.data=5;                Node node4;        node4.data=6;                Node node5;        node5.data=7;                List *pList=new List();            pList->ListInsertHead(&node1);    pList->ListInsertHead(&node2);        pList->ListInsertHead(&node3);        pList->ListInsertHead(&node4);            /*pList->ListInsertTail(&node1);    pList->ListInsertTail(&node2);        pList->ListInsertTail(&node3);        pList->ListInsertTail(&node4);*/                pList->ListInsert(0,&node5);        pList->ListTraverse();                delete pList;        pList=NULL;                system("pause");        return 0;}

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

最好的办法就是自己在敲一遍!

使用道具 举报

调试看看错在哪

使用道具 举报

发新帖

发布任务需求已有1031289位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!