首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

线性表的一路试题

2012-07-18 
线性表的一道试题(1)用键盘输出线性表中的元素(2)删除表中最小值的元素并由函数返回(3)空出的位置由最后的

线性表的一道试题

(1)用键盘输出线性表中的元素

(2)删除表中最小值的元素并由函数返回

(3)空出的位置由最后的一个元素填补

(4)若线性表为空则显示出错信息并退出

?? (5)输出经过上述变化后的线性表

#include <iostream>
using namespace std;
#define maxsize 100
typedef struct
{
int data[maxsize];
int last;
}seqlist;
seqlist *init_seqlist()
{
seqlist *l;
l=new seqlist;
if(!l)
{
?? cout<<"空间不足"<<endl;
?? return NULL;
}
l->last=-1;
return l;
}
void insert(seqlist *l,int x)
{
l->last++;
l->data[l->last]=x;
}
void pop_seqlist(seqlist *l)
{
cout<<l->data[l->last]<<" ";
l->last--;
}
void delete1(seqlist *l)
{
int min,j,minvalue;
if(!l)
?? cout<<"线性表为空"<<endl;
min=0;
for(j=1;j<=l->last;j++)
{
?? if(l->data[min]>l->data[j])
??? min=j;
}
minvalue=l->data[min];
l->data[min]=l->data[l->last];
//delete l->data[l->last];
l->last--;
cout<<"最小的元素为"<<minvalue<<endl;
}
//按从小到大排列
void main()
{
seqlist *l;
l=init_seqlist();
cout<<"输入10000为结束"<<endl;
int x;
cin>>x;

while(x!=10000)
{
?? insert(l,x);
?? cin>>x;
}
delete1(l);
while(l->last!=-1)
{
?? pop_seqlist(l);
}
}

热点排行