Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<cstdlib>
- struct lista
- {
- int dana;
- struct lista *next,*prev;
- }*head=NULL,*element=NULL,*temp=NULL;
- void dodaj(struct lista *&head,int x){
- if(head==NULL)
- {
- head=new lista ;
- head->dana=x;
- head->next=head;
- head->prev=head;
- } else{
- if(element==NULL)
- {
- element=new lista ;
- element->dana=x;
- head->next=element;
- element->prev=head;
- element->next=head;
- head->prev=element;
- temp=element;
- element->next->prev= element ;
- }
- else{
- element=new lista ;
- element->dana=x;
- temp->next=element;
- element->prev=temp;
- element->next=head;
- head->prev=element;
- temp=element;
- }
- }
- }
- void przenies_pokaz(struct lista* head, int n,int m,int k){
- struct lista *glowa ;
- glowa=head;
- int z,h ;
- for(z=0;z<n-1;z++){
- glowa=glowa->next ;
- }
- printf("Liczba ktora przenosisz :%d\n",glowa->dana) ;
- glowa->prev->next = glowa->next;
- glowa->next->prev = glowa->prev;
- struct lista* p;
- p=glowa;
- for(h=0;h<k;h++)
- {
- p=p->next;
- }
- p->next->prev = glowa;
- glowa->next = p->next;
- p->next = glowa;
- glowa->prev = p;
- }
- void pokaz(struct lista *head)
- {
- struct lista *glowa;
- glowa=head;
- printf("\n------------------------\n");
- printf("%d ",head->dana);
- head=head->next;
- while(head!=glowa){
- printf("%d ",head->dana);
- head=head->next;
- }
- printf("\n------------------------\n");
- }
- int main(){
- int m,n,k,i,x ;
- printf("##### Lista dwukierunkowa cykliczna #####\n");
- printf("ile elementow ma zawierac lista?");
- scanf("%d",&m);
- printf("Ktory element listy chcesz przeniesc?\n");
- scanf("%d",&n);
- printf("O ile pozycji chcesz przenieść rekord? \n");
- scanf("%d",&k);
- for(i=1;i<=m;i++)
- {x=rand()%100 ;
- dodaj(head,x);
- }
- pokaz(head);
- struct lista* tmp = head->next;
- if(k>0) przenies_pokaz(head,n,m,k);
- if(n==1||(n+k)%m==1) head=tmp;
- pokaz(head);
- printf("\n\n");
- system("PAUSE");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement