zoukankan      html  css  js  c++  java
  • 非递减单链表删除重复元素 转

        typedef struct _MyListNode  
        {  
            int nData;  
            struct _MyListNode * pNext;  
        } MyListNode, *PMyListNode;  
          
          
        class MyList  
        {  
        public:  
            MyList()  
            {  
                pHead = new MyListNode();  
                pHead->nData = 0;  
                pHead->pNext = NULL;  
                pTail = NULL;  
            }  
            ~MyList()  
            {  
                MyListNode * pTmp = pHead;  
                while (pTmp != NULL)  
                {  
                    pHead = pTmp->pNext;  
                    delete pTmp;  
                    pTmp = pHead;  
                }  
          
                pHead = NULL;  
            }  
          
            void Append(int num)  
            {  
                MyListNode * pTmp = new MyListNode();  
                pTmp->nData = num;  
                pTmp->pNext = NULL;  
          
                if (pTail != NULL)  
                {  
                    pTail->pNext = pTmp;  
                }  
                else  
                {  
                    pHead->pNext = pTmp;  
                }  
                pTail = pTmp;  
            }  
          
            void Print()  
            {  
                MyListNode * pTmp = pHead->pNext;  
                while (pTmp != NULL)  
                {  
                    cout << pTmp->nData << " ";  
                    pTmp = pTmp->pNext;  
                }  
                cout << endl;  
            }  
          
            void RemoveRepeat()  
            {  
                MyListNode * pNode = pHead->pNext;  
                while (pNode != NULL)  
                {  
                    MyListNode * pTmp = pNode->pNext;  
                    while (pTmp != NULL && pNode->nData == pTmp->nData)  
                    {  
                        pNode->pNext = pTmp->pNext;  
                        delete pTmp;  
                        pTmp = pNode->pNext;  
                    }  
          
                    pNode = pTmp;  
                }  
            }  
        private:  
            MyListNode * pHead;  
            MyListNode * pTail;  
          
        };  
          
          
        int main()  
        {  
            MyList lst;  
            lst.Append(7);  
            lst.Append(10);  
            lst.Append(10);  
            lst.Append(21);  
            lst.Append(30);  
            lst.Append(42);  
            lst.Append(42);  
            lst.Append(42);  
            lst.Append(51);  
            lst.Append(70);  
          
            lst.Print();  
          
            lst.RemoveRepeat();  
            lst.Print();  
          
            return 0;  
        } 

    http://blog.csdn.net/matrixcl/article/details/6853458

  • 相关阅读:
    查看 SharePoint 2013 部署到GAC的自定义dll
    SharePoint 2013 设置customErrors显示实际的错误信息
    SharePoint 2013 配置开发环境,需安装VS2012插件
    SharePoint 2013 workflow cannot start automatically when you logged in site as a system account
    Sharepoint 2013 Workflow Error
    自定义HttpModule,用于未登录用户,不弹出Windows认证窗口,而是跳转回SSO站点
    jQuery异步请求模拟IE登录网站
    上传文件到 Sharepoint 的文档库中和下载 Sharepoint 的文档库的文件到客户端
    Hive桶列BucketedTables
    修改MySQL命令提示符
  • 原文地址:https://www.cnblogs.com/androllen/p/2843689.html
Copyright © 2011-2022 走看看