实验步骤:
1. 编写下列函数实现相应功能:
ListInsert(int L[],int i,int e) 在数组L中第i个位置前插入新的数据元素e,list的长度加1。
ListDelete(int L[],int i) 删除数组L的第i个数据元素,list的长度减1。
LocateElem(int L[],int e) 返回L中第1个比e大的数据元素的下标。
2。
编写主函数,实现以下功能:
定义一个数组A将10个整型数据读入,建立一个有序非递减数组A(要求逐个读入数据,调用函数LocateElem找到插入位置后,再调用函数ListInsert将其插入到相应位置)
输出数组A
调用函数ListDelete删除数组A中所有偶数。
再输出数组A
>> 本文固定链接: http://www.vcgood.com/archives/3324
我是一名编程爱好者!目前处于初学阶段.感谢各位高手能给予我一些帮助!谢谢!
这是线性表的问题 数据结构 就按照步骤一步一步来
你要是用的C语言。这链表的大小应该再用一个参数传进ListInsert函数。不然你怎么知道要插入位置的后面有多少个数?你这是C#的题吧?还是说链表的长度存在一个全局变量里?
主函数可以这样遍。那几个辅助函数,感觉你没说清楚噢,到底是不是有个全局变量存链长的?
void main(){
int a[10];
int i, j, length, index, temp;
int flag;
for(i=0; i<10; i++){
cin>>temp;
index = LocateElem(a, temp);
ListInsert(a, index, temp);
}
for(i=0; i<10; i++){
cout<<a<<” “;
}
cout<<”\n”;
i = 0;
j = length = 10;
while(1){
if (a%2==0){
ListDelete(a, i);
length–;
} else {
i++;
}
j++;
if(j>=10) break;
}
for(i=0; i<length; i++){
cout<<a<<” “;
}
cout<<”\n”;
}