Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct Node {
- Node(int n)
- {
- this->n = n; // musimy użyć this->n aby wskazać że chcemy ustawić n naszego obiektu równe przekazanej wartosci n
- next = NULL;
- }
- int n;
- Node *next;
- };
- struct List {
- Node *head;
- Node *tail;
- List() // konstruktor
- {
- head = NULL;
- tail = NULL;
- }
- void add(int n){
- Node *node = new Node(n); //wywołujemy konstruktor z paramterem n ktry ustawia n noda na n
- //node->n = n;
- //node->next = NULL; //ponieważ utwożyliśmy konstruktor do node ten kod jest zbedny ponieważ robi to za nas konstruktor
- if (head == NULL) {
- head = node;
- tail=head;
- }
- else {
- tail->next = node;
- tail = tail->next;
- }
- }
- void display(){
- Node *node = head; //=head bo na *node bylby losowy smiec
- while (node != NULL) {
- cout << "n = " << node->n << endl;
- node = node->next;
- }
- }
- void delete_el(int n) { //jeden element znaleziony usuwa
- Node *node = head;
- Node *previous = head;
- while (node != NULL) {
- if (node->n == n) {
- if (node == head) {
- Node *tmp = head->next;
- delete node;
- head = tmp;
- }
- else {
- previous->next = node->next;
- delete node;
- }
- break;
- }
- previous = node;
- node = node->next;
- }
- }
- void delete_firstel() {
- Node *node = head;
- Node *tmp = head->next;
- delete head;
- head = tmp;
- }
- void delete_lastel() {
- Node *node = head;
- Node *tmp = head;
- while (node != NULL) {
- if (node->next == NULL) {
- if (node == head) {
- delete head;
- head = NULL;
- }
- else {
- delete node;
- tmp->next = NULL;
- tail = tmp;
- }
- break;
- }
- tmp = node;
- node = node->next;
- }
- }
- };
- struct A
- {
- int a;
- int b;
- int c;
- A()
- {
- a = 0;
- b = 1;
- c = 2;
- }
- };
- int main()
- {
- List list;//zadeklarowanie listy
- for (int i=1;i<=10;i++)
- list.add(i); //dodanie elementu do listy
- list.display();
- list.delete_lastel();
- list.add(16);
- list.display();
- while (true);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement