请各路大侠帮我看看 怎么做啊,这是数据结构的两道题,小弟实在不会啊!谢谢了啊!

1.已知长度为n的非空线性表A采用顺序存储结构,请写一个算法找到该线性表中的最小数据元素。2.已知长度为n的非空线性表A采用顺序存储结构,并且每个数据元素均为一个无符号整... 1.已知长度为n的非空线性表A采用顺序存储结构,请写一个算法找到该线性表中的最小数据元素。
2.已知长度为n的非空线性表A采用顺序存储结构,并且每个数据元素均为一个无符号整数,请写一个程序删除线性表中原来序号为奇数的那些数据元素。
展开
 我来答
xiaohuoban160
2011-04-02 · TA获得超过169个赞
知道答主
回答量:73
采纳率:0%
帮助的人:98万
展开全部
1.先用个排序函数排序,再用查找函数。
//排序(从大到小) 注意:单链表第一个结点为空结点,没有保存数据。
void paixu(Node *head,int n)
{
A *p,*s;
//对所有值排序(冒泡排序)
for(int i=0;i<n-1;i++)
{
p=head->next;
for(int j=0;j<n-i-1;j++)
{
s=p->next;
if(p->Value<s->Value)
{
int N=p->Value;
p->Value=s->Value;
s->Value=N;
}
p=p->next;
}
}
}
//查找最末尾的结点
int find(A *head)
{
A *ps;
ps = head;
if(ps == NULL)
cout<<"这是一个空链表!"<<endl;
while(ps->next !=NULL)
ps = ps->next;
return ps->Value;
}

2.
//删除结点
void delete(A *head)
{
A *p,q;
p = head;
q = p->next;
if(q == NULL )
cout<<"这是一个空链表!"<<endl;
else
{
while(q !=NULL)
{
if(q->Value % 2 != 0)
{
p->next = q->next;
delete q;
}
q = p->next;
p = q;
q = q->next;
}
}
}
上了四年技校
2011-03-27 · TA获得超过242个赞
知道答主
回答量:246
采纳率:0%
帮助的人:212万
展开全部
1,p=A[0];
for(i=1;i<n;i++)
if(p>A[i])
p=A[i];
2, for(i=1;i<=n;i++)
if(i%2===1)
delete(&A,i);
这个是伪代码,具体的你自己去写了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我在编程·
2011-04-04
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
我也在学加油
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式