#include<cstdio>
using namespace std;
Status SqInsert(Sqlist L,Elemtype e){//顺序表中插入元素使原序列依然为不下降(原本为不下降)
if(MAXSIZE==L.length)
return ERROR;
L.length++;
for(int i=L.length-1;i>=0;i--){
L.elem[i+1]=L.elem[i];
if(L.elem[i]>e)
L.elem[i]=e;
else
{L.elem[i+1]=e;break;}
}
return OK;
}
Status GetMax(LinkList p){//p为头结点后的第一个节点
if(!p->next)
return p->data;
return GetMax(p->next)>p->data?GetMax(p->next):p->data;
}
Status GetLength(LinkList p){//递归实现计算链表长度计算
if(!p->next)
return 1;
return GetLength(p->next)+1;
}
double Average(LinkList p,int n){//递归实现平均值计算
if(!p->next)
return p.data;
return (Average(p->next,n-1)*(n-1)+p.data)/n;
}
void Delete(LinkList p){//原本为不下降序列,删掉重复元素,使每个元素只出现一次
while(p&&p->next){
if(p->next->data==p->data){
p->next=p->next->next;
}
p=p->next;
}
}
数据结构1 2 章小总结
最新推荐文章于 2022-01-07 21:35:00 发布