Need helps kub C++ LinkedList Nodes remove function

กระทู้คำถาม
ต้องการลบNode ที่ไม่ = dataOut (ordered linkedlist)
สมมุติว่า dataOut = 3;
1 > 2 > 3 > 3 > 4 > nullptr; //after function calls
จะเหลือ 3 > 3 > nullptr  // คือลบทุก node ที่ไม่ตรงกับ dataOut  ที่ส่งเข้ามาครับ
return true if success kub.
ไปถามอาจารย์หลายรอบแล้วครับ แกไม่ยอมบอก เข้มงวดมาก บอกแบบอ้อมค้อม ให้คิดเอาเอง คิดจนหัวจะระเบิดแล้ว
ต้องส่งวันจันด้วย  T^T
โค้ดด้านล่างผิดนะครับ เป็นไอเดียของผมเอง

template<typename TYPE>
bool linkedList<TYPE>::removeAllBut(const & dataOut)                //function definition
{
          Node<TYPE> *pTemp = front;
          Node<TYPE *pPrev = nullptr;

         while(pTemp)
         {
                    if((pPrev) && (pPrev->data != dataOut))                // ผิดแถวนี้แหละครับ
                    {
                             delete pPrev;                                             // ลบเฉพาะโน้ตที่ไม่เท่ากับ dataOut
                             success = true;
                     }
                      pPrev = pTemp;                                                 //traverse เลื่อนโน้ตทุกครั้ง ไม่จำเป็นว่าจะเท่าหรือไม่เท่า dataOut
                      pTemp = pTemp -> next;
           }

            return success;
}

//******************************************************

int main()                                          //บางส่วนของ main
{
            LinkedList<int> list;
            val = 3;

           cout << "Remove all but "" val << ": ";
           if(list.removeAllBut(val))                       // function calls
           {
                   list.display();                               //function calls
           }

//********************************************************

Struct Node                                                  //class & struct ที่เกี่ยวกับฟังชั่นครับ
{
        TYPE data;
        Node<TYPE> *next;
}
Class linkedList                        
{
        private: Node<TYPE> *front;
        public: bool removeAllBut(const TYPE dataOut);
}
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่