Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Node *createnode(int x)
- {
- Node *new=(Node *)malloc(sizeof(Node));
- new->info=x;
- new->next=null;
- return new;
- }
- int calcavg(list *head)
- {
- int sum=0;
- int cnt=0;
- Node *pos = head;
- if(pos==NULL)
- return -1
- do{
- sum+=pos->info;
- cnt++;
- pos=pos->next;
- return sum/cnt;
- }while(pos !=head);
- }//end of calcavg function
- List *updateMid(list *head)
- {
- Node *pos=head,*temp;
- int avg;
- if(head==NULL) return NULL;
- if(head->next == head) return head;
- avg=calcavg(head);
- if(head->info==avg) return head;
- while(pos->next !=head){
- if(pos->next == avg)
- {
- temp = pos->next;
- pos->next = pos->next->next;
- temp->next = head;
- head=temp;
- return head;
- }
- pos = pos->next;
- }//while
- temp = createnode(avg);
- temp -> next = head;
- head = temp;
- return head;
- } // Update Mid Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement