Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <ctime>
- #include <stdlib.h>
- using namespace std;
- struct node{
- node * next;
- int value;
- };
- void DELL(node *& H){
- if(H!=NULL){
- node * temp=new node;
- temp = H;
- H=temp->next;
- delete temp;
- }
- }
- void ADD( node *& H, int val){
- node * temp = new node;
- temp->next=H;
- temp->value=val;
- H=temp;
- }
- void show(node * H){
- cout <<"H->";
- node *temp=H;
- while(temp!=NULL){
- cout << temp->value<<"->";
- temp=temp->next;
- }
- cout << "NULL"<<endl;
- }
- void usunpomax(node *&H)
- {
- int x=0;
- if(H!=NULL)
- {
- node *temp = new node;
- temp=H;
- while(temp!=NULL)
- {
- if(temp->value>x)
- {
- x=temp->value;
- temp=temp->next;
- }
- else
- temp=temp->next;
- }
- }
- if(H!=NULL)
- {
- node *tmp= new node;
- tmp=H;
- while(tmp!=NULL)
- {
- if(tmp->value==x)
- {
- tmp->next=tmp->next->next;
- break;
- }
- else
- tmp=tmp->next;
- }
- }
- }
- void przed(node *&H)
- {
- int x=0;
- if(H!=NULL)
- {
- node *temp= new node;
- temp=H;
- while(temp!=NULL)
- {
- if(temp->next->next==NULL)
- {
- x=temp->next->value;
- temp->next=temp->next->next;
- break;
- }
- else
- temp=temp->next;
- }
- }
- ADD(H,x);
- }
- /*void lacz(node *&H, node *&D)
- {
- int i=1;
- node *temp=new node;
- node *tmp=new node;
- temp=H;
- tmp=D;
- temp->next=tmp;
- while(temp!=NULL && tmp!=NULL)
- {
- temp->next=tmp;
- tmp->next=temp->next;
- }
- }*/
- void zamien(node *&H, int x)
- {
- if(H!=NULL)
- {
- node *temp = new node;
- temp=H;
- while(temp->next!=NULL)
- {
- if(x==temp->next->value)
- {
- if(temp->next->next==NULL)
- {
- cout<<"nastepnikiem jest NULL"<<endl;
- break;
- }
- node *tmp=new node;
- tmp=temp->next;
- node *tmp2=new node;
- tmp2=temp->next->next;
- tmp->next=tmp2->next;
- temp->next=tmp2;
- temp->next->next=tmp;
- break;
- }
- else
- temp=temp->next;
- }
- }
- }
- void zamprzed(node *&H, int x)
- {
- if(H!=NULL)
- {
- node *temp=new node;
- temp=H;
- while(temp->next!=NULL)
- {
- if(x==H->value)
- {
- cout<<"Nie ma poprzednika"<<endl;
- break;
- }
- if(x==temp->next->next->value)
- {
- node *tmp= new node;
- tmp=temp->next;
- node *tmp2=new node;
- tmp2=temp->next->next;
- tmp->next=tmp2->next;
- temp->next=tmp2;
- temp->next->next=tmp;
- break;
- }
- else
- temp=temp->next;
- }
- }
- }
- void kasn(node *&H, int x, int n)
- {
- if(H!=NULL)
- {
- node *temp=new node;
- temp=H;
- while(temp->next!=NULL)
- {
- if(temp->value==x)
- break;
- else
- temp=temp->next;
- }
- for(int i=0;i<n;i++)
- temp->next=temp->next->next;
- }
- }
- void odwroc(node *&H)
- {
- int i=0;
- if(H!=NULL)
- {
- node *newhead = NULL;
- node *tmp = H;
- while (H->next != NULL)
- {
- ADD(newhead, H->value);
- H = H->next;
- delete tmp;
- tmp = H;
- }
- ADD(newhead, H->value);
- delete tmp;
- H = newhead;
- }
- }
- void co2(node *&H)
- {
- if(H!=NULL)
- {
- node *temp= new node;
- temp=H;
- H=H->next;
- delete temp;
- temp=H;
- while(temp->next!=NULL )
- {
- if(temp->next!=NULL && temp->next->next==NULL)
- {
- temp->next=NULL;
- break;
- }
- temp->next=temp->next->next;
- temp=temp->next;
- }
- }
- }
- void parz(node *&H)
- {
- node *tmp = H;
- node *wsk1 = H;
- node *wsk2 = H;
- while (H->next != NULL && H->value % 2 == 0)
- {
- H = H->next;
- delete tmp;
- tmp = H;
- }
- wsk2 = H;
- wsk1 = H;
- while (tmp->next != NULL)
- {
- if (tmp->value % 2 == 0)
- {
- wsk1 = tmp;
- tmp = tmp->next;
- wsk2->next = tmp;
- delete wsk1;
- }
- else
- {
- wsk2 = tmp;
- tmp = tmp->next;
- }
- }
- }
- //ZADANIE NR1
- void srednia(node*&H)
- {
- if (H != NULL)
- {
- node *temp = new node;
- node *tmp=new node;
- node *tmp2 = new node;
- node *tmp3 = new node;
- temp = H;
- float x = 0, i = 0;
- float srednia = 0;
- while (temp != NULL)
- {
- if (temp->next == NULL)
- tmp = temp;
- x = x + temp->value;
- i++;
- temp = temp->next;
- }
- int z = 0;
- srednia = x / i;
- temp = H;
- cout << srednia << endl;
- while (temp->next != NULL)
- {
- if (z > 1)
- {
- if (tmp3->value == temp->next->value)
- break;
- }
- if (temp->next->value > srednia)
- {
- z++;
- if (z == 1)
- {
- tmp3 = temp->next;
- }
- tmp->next = temp->next;
- tmp2 = temp->next->next;
- tmp->next->next = NULL;
- tmp = tmp->next;
- temp->next = tmp2;
- }
- else
- temp = temp->next;
- }
- }
- }
- int main()
- {
- node * H = NULL;
- ADD(H, 5);
- ADD(H, 4);
- ADD(H, 7);
- ADD(H,22);
- ADD(H,11);
- ADD(H,12);
- show(H);
- przed(H);
- show(H);
- odwroc(H);
- show(H);
- parz(H);
- show(H);
- co2(H);
- show(H);
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement