Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct elementas
- {
- int data;
- elementas * next;
- };
- elementas * temp;
- elementas * head;
- elementas * tail;
- void sukurimas(int &n);
- void spausdinimas(int n);
- void iterpimaspries(int &n);
- void pozicija(int &n);
- void pagalpozicija(int &n);
- void trint(int &n);
- void iterpimas(int &n);
- void posk(int &n);
- int main()
- {
- int * p,i,n=0;
- //head = NULL;
- int choice;
- bool meniu = true;
- while (meniu != false)
- {
- cout << "*******************************\n";
- cout << "1. Sukurti tiesini vienakrypti sarasa"<<endl;
- cout << "2. Atspausdinti tiesini vienakrypti sarasa"<<endl;
- cout << "3. Iterpia nauja elementa i nurodyta tiesinio saraso pozicija "<<endl;
- cout << "4. Iterpia elementa pries tam tikra sarase egzistuojanti elementa"<<endl;
- cout << "5. Istrina tiesini sarasa"<<endl;
- cout << "6. Istrina pasirinkta tiesinio saraso elementa"<<endl;
- cout << "7. UZDARYTI"<<endl;
- cout <<"Pasirinkite : "<<endl;
- cin >> choice;
- switch (choice)
- {
- case 1:
- sukurimas(n);
- break;
- case 2:
- spausdinimas(n);
- break;
- case 3:
- pozicija(n);
- break;
- case 4:
- iterpimas(n);
- break;
- case 5:
- trint(n);
- break;
- case 6:
- pagalpozicija(n);
- break;
- case 7:
- meniu = false;
- break;
- default:
- cout <<" Neegzistuoja "<<endl;
- break;
- cout << "PASIRINKITE: .\n";
- cin >> choice;
- break;
- }
- }
- return 0;
- }
- void sukurimas(int &n)
- {
- cout <<"Keliu elementu bus vienakryptis tiesinis sarasas"<<endl;
- cin >> n;
- head = new elementas;
- cout<<"IVESKITE " << 1 <<" ELEMENTA"<<endl;;
- cin>>head->data;
- head->next = nullptr;
- temp = head;
- tail = head;
- for(int i = 1; i< n; i++)
- {
- temp = new elementas;
- cout <<"IVESKITE "<<i + 1 <<" ELEMENTA"<<endl;
- cin>>temp->data;
- temp->next=nullptr;
- tail->next = temp;
- tail=temp;
- }
- }
- void spausdinimas(int n)
- {
- cout << "SARASO ELEMENTAI: " << endl;
- temp = head;
- while (temp != nullptr)
- {
- cout << temp->data << endl;
- cout << "***************" << endl;
- temp = temp->next;
- }
- }
- void iterpimaspries(int &n)
- {
- tail = new elementas;
- cout << "IVESKITE ELEMENTA: ";
- cin >> tail -> data;
- tail ->next = head;
- head = tail;
- n++;
- }
- void pozicija(int &n)
- {
- int p;
- temp = head;
- cout << "IVESKITE POZICIJA: ";
- cin >> p;
- if (p > n || p < 1)
- cout << "NEGALIMA ITERPTI" << endl;
- else if (p == 1)
- iterpimaspries(n);
- else
- {
- tail = new elementas;
- cout << "IVESKITE ELEMENTA: ";
- cin >> tail -> data;
- for (int i = 1; i < p-1; i++)
- {
- temp = temp ->next;
- }
- tail -> next = temp -> next;
- temp -> next = tail;
- n++;
- }
- }
- void trint(int &n)
- {
- elementas * temp2=head;
- while(head != nullptr)
- {
- temp2= head;
- head = temp2->next;
- delete temp2;
- cout<<"Istrintas "<<temp2->data<<endl;
- n--;
- }
- cout << "SARASAS ISTRINTAS" << endl;
- }
- void iterpimas(int &n)
- {
- int p;
- cout <<"PASIRINKITE ELEMENTA:"<<endl;
- cin>>p;
- temp = head;
- for(int i = 0 ; i<n-1; i++)
- {
- if(temp->data==p)
- {
- p = i+1;//
- break;
- }
- }
- if (p > n || p < 1)
- cout << "NEGALIMA ITERPTI!" << endl;
- else if (p == 1)
- iterpimaspries(n);
- else
- {
- temp = new elementas;
- elementas * temp2=head;
- cout << "IVESKITE ELEMENTA: ";
- cin >> temp -> data;
- for (int i = 1; i < p-1; i++)
- {
- temp2= temp2 ->next;
- }
- temp -> next = temp -> next;
- // temp -> next = temp; pagal pozicija / ir iterpti pagal pozicija
- n++;
- }
- }
- void pagalpozicija(int &n)
- {
- int sk, x = 0;
- elementas * temp2;
- cout << "IVESKITE KURI SKAICIU TRINTI: ";
- cin >> sk;
- if ( sk == head->data)
- {
- trint(n);
- }
- else
- {
- temp2 = head;
- temp = temp2 -> next;
- for (int i = 1; i <= n; i++)
- {
- if (temp -> data == sk )
- {
- delete temp;
- temp2 -> next = temp -> next;
- n--;
- x = 1;
- break;
- }
- else
- {
- cout << "NERA TOKIO SKAICIAUS" << endl;
- break;
- }
- temp = temp -> next;
- temp2 = temp2 -> next;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement