#includeusingnamespace stdstruct โหน{ ข้อมูล int โหนด * ถัดไป โหนด * ก่อนหน้า};ยกเลิก addnode()ยกเลิก delnode()ยกเลิก display()ยกเลิก show()ยกเลิก search()โหนด * เริ่มต้น = NULL, * temp1, * temp2, * temp3int main (){ char ch ทำอย่างไร { อักขระที่ฉัน cout << "กด 'a' จะเพิ่มโหนด เกี่ยวกับของ ' การลบ" < cout << "ของ ' สำหรับ 'e' สำหรับการแสดงผลย้อนหลัง ค้นหา 'v' สำหรับการแสดง" < cin >> ฉัน สวิตช์ (i) { case'a': addnode() ทำลาย จะกรณี ': delnode() ทำลาย case'v': display() ทำลาย กรณีของ ': search() ทำลาย case'e': show() ทำลาย เริ่มต้น: cout << "ป้อนข้อมูลไม่ถูกต้อง" < ทำลาย } cout << "ต้องการประมวลผลเพิ่มเติม y/n" < cin >> ch } while(ch!='n') กลับ 0}โหน //adding addnode() เป็นโมฆะ{ char: r temp1 =โหนใหม่ cout << "ใส่ int เก็บ" < cin >> temp1 -> ข้อมูล cout << "ของกด ' เพิ่มในเริ่ม,: ' สำหรับมิดด์ 'e' สำหรับการสิ้นสุด" < cin >> r สวิตช์ (r) { กรณีของ ': //add startif(start==NULL) { เริ่มต้น = temp1 -> temp1 ถัดไป = NULL -> temp1 ก่อนหน้า = NULL } อื่น { temp2 =เริ่มต้น -> temp1 ถัดไป = temp2 -> temp1 ก่อนหน้า = NULL เริ่มต้น = temp1 -> temp2 ก่อนหน้า = temp1 } ทำลาย case'e': //add endif(start==NULL) { เริ่มต้น = temp1 -> temp1 ถัดไป = NULL -> temp1 ก่อนหน้า = NULL } อื่น { temp2 =เริ่มต้น ในขณะที่ (temp2 -> ถัดไป! = NULL) temp2 = temp2 -> ถัดไป -> temp2 ถัดไป = temp1 -> temp1 ก่อนหน้า = temp2 -> temp1 ถัดไป = NULL } ทำลาย :กรณี ': //add midint num cout << "ป้อนโหนที่คุณต้องการป้อน" < cin >> num temp2 =เริ่มต้น สำหรับ (int ผม = 0 ฉัน { if(start==NULL) cout << "ได้รับไม่พบโหน" < อื่น { temp3 = temp2 temp2 = temp2 -> ถัดไป } } -> temp1 ถัดไป = temp2 -> temp3 ถัดไป = temp1 -> temp1 ก่อนหน้า = temp3 -> temp2 ก่อนหน้า = temp1 ทำลาย }}//displaying display() เป็นโมฆะ{ temp3 =เริ่มต้น if(start==NULL) cout << "โหนไม่แสดง" < อื่น { ในขณะที่ (temp3 -> ถัดไป! = NULL) { cout << "เก็บข้อมูล" <ข้อมูล << "ที่" < temp3 = temp3 -> ถัดไป } cout << "เก็บข้อมูล" <ข้อมูล << "ที่" < }}//searching search() เป็นโมฆะ{ int p cout << "ป้อนการค้นหา" < cin >> p temp1 =เริ่มต้น ในขณะที่ (temp1 -> ถัดไป! = NULL) { ถ้า (temp1 -> ข้อมูล== p) { cout <ข้อมูล << "อยู่ใน" << temp1-> ถัดไป < } temp1 = temp1 -> ถัดไป }}//deleting delnode() เป็นโมฆะ{ char: d cout << "ของกด ' ลบจากเริ่มต้น,: ' สำหรับมิดด์ 'e' สำหรับการสิ้นสุด" < cin >> d สวิตช์ (d) { กรณีของ ': //delete startif(start==NULL) { cout << "โหนไม่ลบ" < } อื่น { temp1 =เริ่มต้น เริ่มต้น =เริ่มต้น -> ถัดไป เริ่มต้น -> ก่อนหน้า = NULL ลบ temp1 } ทำลาย case'e': //delete endif(start==NULL) { cout << "โหนไม่ลบ" < } อื่น { temp1 =เริ่มต้น ในขณะที่ (temp1 -> ถัดไป! = NULL) { temp2 = temp1 temp1 = temp1 -> ถัดไป } ลบ temp1 -> temp2 ถัดไป = NULL } ทำลาย :กรณี ': //delete midint num cout << "ป้อนคุณต้องการลบโหน" < cin >> num temp1 =เริ่มต้น สำหรับ (int ผม = 1 ฉัน { if(start==NULL) cout << "กำหนดโหนไม่มี" < อื่น { temp2 = temp1 temp1 = temp1 -> ถัดไป } } temp3 = temp1 -> ถัดไป -> temp2 ถัดไป = temp3 -> temp3 ก่อนหน้า = temp2 ลบ temp1 ทำลาย }}แสดงผล //backward show() เป็นโมฆะ{ cout << "แสดงย้อนหลัง" < temp3 =เริ่มต้น if(start==NULL) cout << "โหนไม่แสดง" < อื่น { ในขณะที่ (temp3 -> ถัดไป! = NULL) { temp3 = temp3 -> ถัดไป } ในขณะที่ (temp3 -> ก่อนหน้า! = NULL) { cout << "เก็บข้อมูล" <ข้อมูล << "ที่" < temp3 = temp3 -> ก่อนหน้า } cout << "เก็บข้อมูล" <ข้อมูล << "ที่" < }}
การแปล กรุณารอสักครู่..