#includeusing namespace std;struct ListNode{ int value; ListNode * next;};ListNode * deleteNode(ListNode * head,int i){ ListNode *p=head,*s; for(int j=2;j next; } s=p->next; p->next=s->next; free(s); return head;}void InsertNode(ListNode * head,int data,int i){ ListNode * p=head; for(int j=2;j next; } ListNode * s=new ListNode; s->value=data; s->next=p->next; p->next=s; }ListNode * Reverse(ListNode * p,ListNode * & head){ if(p->next==NULL) {head=p; return p; } else { ListNode *s=Reverse(p->next,head); s->next=p; p->next=NULL; return p; } }ListNode * createList(int a[],int n){ ListNode *head; ListNode *s=new ListNode; s->value=a[0]; head=s; for(int i=1;i value=a[i]; s->next=nex; s=nex; } s->next=NULL; return head;}void Bubble(ListNode * &head){ for(ListNode * s=head;s!=NULL;s=s->next){ for(ListNode* j=head;j->next!=NULL;j=j->next) { if(j->value>j->next->value) {int temp=j->next->value; j->next->value=j->value; j->value=temp;} } }}void Print(ListNode * head){ for(ListNode * s=head;s!=NULL;s=s->next){ cout< value<<' '; } cout<