基于线性表的动态顺序存储结构,
基于线性表的动态顺序存储结构,通过函数分别实现以下操作的算法。实现要求:定义实现以下操作的函数
⑴ 顺序表的建立:通过键盘输入所建立的顺序表的元素个数n,通过随机生成的方式生成在[100,100000]之间的整数。
⑵ 输出顺序表的所有元素。
⑶ 求出顺序表中值最小和次小的元素值,要求该算法的时间复杂度为O(n),最小和次小的元素值通过指针变量带回,函数不需要返回值。
⑷ 删除顺序表中值在S与T之间(S和T的大小关系任意)的所有元素,要求该算法的时间复杂度为O(n),若S和T不合理或顺序表位空则显示错误信息。
⑸ 删除顺序表中所有值重复的所有元素,使得顺序表中的所有元素两两互不相同,要求该算法的时间复杂度为O(n2),然后调用函数输出处理之后的顺序表的所有元素。
⑹ 顺序表的排序,要求该算法的时间复杂度为O(n㏒2n),然后调用函数输出处理之后的顺序表.
⑺ 设计一个菜单,上述操作要求都作为菜单中的主要菜单项。
第1问做出来怪怪的,请高手指点
void creat1(int *p,int n) //随机生成
{ int temp,i; //定义两个整型变量
for(i=0;i<n;i++) //用随机函数生成一个顺序表
{ temp=(int)rand()%MAX+100; p[i]=temp;}
}
线性表的动态顺序存储结构是指动态数组吗,如果是的话我做错了,求指导