Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- struct node
- {
- struct node *prev;
- int value;
- struct node *next;
- }*head,*last;
- void insert_first(int data)
- {
- struct node *newitem,*temp;
- newitem=(struct node*)malloc(sizeof(struct node));
- temp=(struct node*)malloc(sizeof(struct node));
- newitem->prev=NULL;
- newitem->value=data;
- newitem->next=NULL;
- if(head==NULL)
- {
- head=newitem;
- head->prev=NULL;
- head->next=NULL;
- last=newitem;
- }
- else
- {
- temp=newitem;
- temp->prev=NULL;
- temp->next=head;
- head->prev=temp;
- head=temp;
- }
- }
- void insert_last(int data)
- {
- struct node *newitem,*temp;
- newitem=(struct node*)malloc(sizeof(struct node));
- temp=(struct node*)malloc(sizeof(struct node));
- newitem->prev=NULL;
- newitem->value=data;
- newitem->next=NULL;
- if(head==NULL)
- {
- head=newitem;
- head->prev=NULL;
- head->next=NULL;
- last=newitem;
- }
- else
- {
- temp=head;
- while(temp->next!=NULL)
- {
- temp=temp->next;
- }
- temp->next=newitem;
- newitem->prev=temp;
- last=newitem;
- }
- }
- void insert_middle(int data,int ioc)
- {
- }
- void deleteitem(int data)
- {
- }
- void display()
- {
- struct node *temp;
- temp=(struct node*)malloc(sizeof(struct node));
- temp=head;
- while(temp!=NULL)
- {
- printf("%d ",temp->value);
- temp=temp->next;
- }
- printf("\n");
- }
- int count()
- {
- int c=0;
- struct node *temp;
- temp=(struct node*)malloc(sizeof(struct node));
- temp=head;
- while(temp!=NULL)
- {
- c++;
- temp=temp->next;
- }
- return c;
- }
- void sort()
- {
- }
- void reverse()
- {
- }
- void sum()
- {
- }
- void menu()
- {
- printf("option\n");
- printf("=======\n");
- printf("1.insert at first\n");
- printf("2.insert at end\n");
- printf("3.insert at middle\n");
- printf("4.display\n");
- printf("5.delete\n");
- printf("6.count\n");
- printf("7.sort\n");
- printf("8.reverse\n");
- printf("9.sum\n");
- printf("10.exit\n");
- printf("enter your choice ");
- }
- int main()
- {
- int i,num,ioc;
- while(1)
- {
- menu();
- scanf("%d",&i);
- switch(i)
- {
- case 1:
- printf("enter number ");
- scanf("%d",&num);
- insert_first(num);
- display();
- break;
- case 2:
- printf("enter number ");
- scanf("%d",&num);
- insert_last(num);
- display();
- break;
- case 3:
- printf("after which number do you want to insert\n");
- scanf("%d",&ioc);
- printf("enter the number to be inserted\n");
- scanf("%d",&num);
- insert_middle(num,ioc);
- display();
- break;
- case 4:
- display();
- break;
- case 5:
- printf("enter number to be deleted ");
- scanf("%d",&num);
- deleteitem(num);
- display();
- break;
- case 6:
- printf("element number is %d\n",count());
- break;
- case 7:
- sort();
- display();
- case 8:
- reverse();
- break;
- case 9:
- sum();
- break;
- case 10:
- return 0;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement