Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<malloc.h>
- typedef struct node{
- int data;
- struct node *next;
- }nodeT;
- nodeT* createnode(int data){
- nodeT* newnode = (nodeT*)malloc(sizeof(nodeT));
- newnode->data = data;
- newnode->next = NULL;
- return newnode;
- }
- void printlist(nodeT* head){
- if(head == NULL){
- return;
- }
- printf("%d ",head->data);
- printlist(head->next);
- }
- int main()
- {
- int n,k;
- scanf("%d %d",&n,&k);
- nodeT* head = NULL ;
- nodeT* curr = NULL;
- int i = 0;
- do{
- int x;
- scanf("%d",&x);
- if(head == NULL){
- head = createnode(x);
- curr = head;
- }
- else{
- curr->next = createnode(x);
- curr = curr->next;
- }
- i++;
- }while(i < n);
- i = 0;
- nodeT* prev = head;
- nodeT* temp;
- while(i < k){
- curr = head;
- prev = head;
- while(curr->next != NULL && curr->next->data >= curr->data){
- prev = curr;
- curr = curr->next;
- }
- if(prev == head && curr == head){
- temp = curr;
- head = curr->next;
- free(temp);
- }
- else{
- temp = curr;
- prev->next = curr->next;
- free(temp);
- }
- i++;
- }
- printlist(head);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment