定义一个顺序表L,并编写实现如下两个算法
定义一个顺序表L,并编写实现如下两个算法:
1)在顺序表L中查找第一个值最大的元素,并删除该元素。
2)删除顺序表L的第i个元素。
基本方法说明:
在一个有序线性表中插入一个元素,使其依然有序,那递增有序线性表来说
for example:
x插入a b之间时 应满足x<=b&&x>=a;
根据这个原理我们在搜索一个链表适合插入x节的位置时应该至少知道两个值,
即链表的a节的值和b节的值(只有一个节点的链表另当别论。。。。)
那么 就有这样的算法:
已知头结点h
设 同类型节点 p和q
1234567891011121314151617p=h->next;q=p;while(p!=NULL){ if(x>=q->data&&x<=p->data)//q->data是数据。。。。x是要插入的数值 { node *t=(node*)malloc(sizeof(node));//新建一个节点t t->data=x; t->next=q->next; q->next=t; } else { q=p; p=p->next; }}热门标签: