C语言顺序表的问题 高手进!

来源:百度知道 编辑:UC知道 时间:2024/05/15 06:17:09
有一个表元素按值递增排列的顺序表,编写一个函数实现删除顺序表中多于的值相同元素;
有一个顺序表,编写一个在顺序表中查找最大和最小值元素的函数,并分析其时间复杂度T(n)

失败好多次
哪位能给个正确的代码??

其实删除相同的元素有个最关键的就是这个
int i,k=1,t=1;
for(i=1;i<=L.last;i++)
if(L.elem[i]!=L.elem[i-1])
{
L.elem[k++]=L.elem[i];
t++;
}
L.last=t-1;
t为计数器,i从第二个元素开始(下表为1),依次与其前一个元素相比,若相等,则i继续,不相等,则执行L.elem[k++]=L.elem[i]; 这个语句是关键,你自己好好思考思考!

我有个,实现了创建,输出,插入与删除功能了,你要什么功能的就改下吧
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define MAX 100
struct link
{
int a[MAX];
int n;
};
struct link *p;
struct link *creat()
{
p=(struct link *)malloc(sizeof(struct link));
if(p!=NULL)
{
p->n=0;
printf("创建成功\n");
}
else
printf("空表");
return p;
}
void output()
{
int i;
printf("当前存有的数据有: \n");
if(p->n==0)
printf("表空\n");
for(i=0;i<p->n;i++)
printf("%d\n",p->a[i]);
return;