delete last node in linked list

Help me write void deletethelastzero(List *);

EX: 456789000-> DELETE THE LAST ZeRO 456789
102505000-> 102505

Thanks you very much !

My code :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102

#include "stdafx.h"
#include <stdio.h>
#include <iostream>

using namespace std;

class Node {
      public:
	 int data; 
	 Node* next;
};

class List {
	private:
	int count;
	Node* pHead;
	
	public:
	List() ;
	void addFirst(int) ;
	void addLast(int);
	void display();
	int empty();
	void deletethelastzero(List *);// I tried but still not done..Help me!
	~List();	
};

List::List() {
	pHead =NULL;
	count = 0;
}

void List::addFirst(int newdata) {
	Node* pTemp = new Node;
	pTemp->data = newdata;
	pTemp->next = pHead;
	pHead = pTemp;
	count++;
}

void List::addLast(int newdata){
	Node *pTail = pHead;
	if(pHead == NULL){
		addFirst(newdata);
	}
	else{
		while(pTail->next != NULL){
			pTail = pTail->next;
		}
		Node *pTemp = new Node();
		pTemp->data = newdata;
		pTemp->next = NULL;
		pTail->next = pTemp;
//		pTail = pTemp;
		count ++;
	}
}

List::~List()  {
	Node* pTemp = pHead;
	while (pTemp!=NULL) {
		pTemp = pTemp->next;
		delete pHead;
		pHead = pTemp;
	}
}

void List::display() {
	Node* pTemp = pHead;
	while (pTemp!=NULL)
	{
		cout << pTemp->data<<", ";
		pTemp = pTemp->next;
	}
	cout<<endl;
}


void List::deletethelastzero(List *L) {

    // I tried but still not done..Help me!
}
 

int main()
{
	List *aList = new List();
	List *aList2 = new List();
	aList->addFirst(0);
	aList->addFirst(0);
	aList->addFirst(2);
	aList->addFirst(1);
	aList->addFirst(2);
	//21200-> 212
	aList->display();
	

	return 0;
}

Topic archived. No new replies allowed.