码迷,mamicode.com
首页 > 其他好文 > 详细

define a class for a linked list and write a method to delete the nth node.

时间:2014-09-03 13:10:36      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:style   color   os   for   问题   sp   amp   on   c   

1、问题

define a class for a linked list and write a method to delete the nth node.


2、算法

template <typename C>

struct Node{

        C content ;

        Node<T>* next ;

}


template <typename T>

class List{

private:

        Node<T>* head ;

       unsigned int size ;

public:

        List()

        {

                size = 0 ;

                head = NULL ;

        }


        bool insert(const T& data)

        {

                Node<T>* node = new Node<T> ;

                node->content = data ;

                node->next = head;


                head = node ;

                size++ ;


                return true ;

        }


        bool insert(const T&data, int pos)

        {

                if( pos > size )

                {

                        return false ;

                }else if( pos == 0 )

                {

                        return insert(data) ;

                }


                Node<T>* node = new Node<T> ;

                node->content = data ;

                node->next = NULL ;


                unsigned int idx = 1 ;

                Node<T>* frontNode = head ;

                while(idx < pos)

                {

                        idx++ ;

                        frontNode = frontNode->next ;

                }


                node->next = frontNode->next ;

                frontNode ->next = node ;

                size++ ;


                return true ;

        }


        bool remove( int pos )

        {

                if( pos > size )

                {

                        return false ;

                }


                unsigned int idx = 0 ;

                Node<T>* frontNode = NULL ;

                Node<T>* node = head ;


                while(idx < pos)

                {

                        idx++ ;

                        frontNode = node ;

                        node = node->next ;

                }


                frontNode->next = node->next ;

                delete node ;

                size-- ;


                return true ;

        }


}

define a class for a linked list and write a method to delete the nth node.

标签:style   color   os   for   问题   sp   amp   on   c   

原文地址:http://blog.csdn.net/u011476173/article/details/39025083

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!