for(k-l; k<=L->last; k++) L->data[k-1=L->data[k] ->data[L->last=x; else for(i=l; K<=n; 1++) x=L->data L->last]; for(k=L->last-1; k>=0; k--) L->data[k+1=L->data(k] ->data[0=x 6.已知带头结点的单链表L中的结点是按整数值递增排列的,试写一算法,将值为x的结点插入到 表L中,使得L仍然有序。并且分析算法的时间复杂度 typedef struct node int data iNode, *linklist; linklist insert(linklist L, int x) while(p->next&&x>p->next->data) p=p->next; snew Inode s->data=x S->next=p->next lext=s return (L) 7假设有两个已排序的单链表A和B,编写一个算法将它们合并成一个链表C而不改变其排序性 typedef struct node dataty pe data struct node * next iNode, linklistfor (k=1;k<=L->last;k++) L->data[k-1]=L->data[k]; L->data[L->last]=x; } else for(i=1;i<=n;i++) { x=L->data[L->last]; for (k=L->last-1;k>=0;k--) L->data[k+1]=L->data[k]; L->data[0]=x; } } ⒍已知带头结点的单链表 L 中的结点是按整数值递增排列的,试写一算法,将值为 x 的结点插入到 表 L 中,使得 L 仍然有序。并且分析算法的时间复杂度。 typedef struct node{ int data; struct node *next; }lnode,*linklist; linklist insert(linklist L,int x) { p=L; while (p->next&&x>p->next->data) p=p->next; s=new lnode; s->data=x; s->next=p->next; p->next=s; return(L); } ⒎假设有两个已排序的单链表 A 和 B,编写一个算法将它们合并成一个链表 C 而不改变其排序性。 typedef struct node{ datatype data; struct node *next; }lnode,linklist;