#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#define MaxSize 100
typedef struct
{
int data[MaxSize];
int length;
}Sqlist;
void createSqlist(Sqlist &L);//构建顺序表
void InitSqlist(Sqlist &L);//初始化顺序表
void InsertSqlist(Sqlist &L,int x);//插入数据
int SearchSqlist(Sqlist L,int x);//查找数据
void DeleteSqlist(Sqlist &L,int x);//删除数据
void output(Sqlist L);//输出顺序表
int locate(Sqlist L,int x);//定位元素位置
int main()
{
Sqlist L;
InitSqlist(L);
createSqlist(L);
printf("------打印顺序表-----:\n");
output(L);
printf("------插入元素4-----:\n");
InsertSqlist(L,4);
printf("------删除元素3-----:\n");
DeleteSqlist(L,3);
system("pause");
return 0;
}
//初始化顺序表
void InitSqlist(Sqlist &L)
{
L.length=0;
}
//构建顺序表
void createSqlist(Sqlist &L)
{ int i,n,x;
printf("请输入元素个数:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请输入第%d个元素个数:\n",i+1);
scanf("%d",&x);
L.data[i]=x;
L.length++;
}
}
//打印顺序表
void output(Sqlist L)
{
int i;
for(i=0;i<L.length;i++)
printf("%d\t",L.data[i]);
printf("\n");
}
//查找元素
int SearchSqlist(Sqlist L,int x)
{
int i,p;
for(i=0;i<L.length;i++)
{
if(L.data[i]==x)
{ p=i;
break;
}
}
if(i==L.length)
printf("没有找到!\n");
return p;
}
//插入数据
void InsertSqlist(Sqlist &L,int x)
{
int i,p;
p=locate(L,x);
for(i=L.length-1;i>=p;i--)
L.data[i+1]=L.data[i];
L.data[p]=x;
L.length++;
output(L);
}
//删除数据
void DeleteSqlist(Sqlist &L,int x)
{
int i,p;
p=SearchSqlist(L,x);
for(i=p;i<L.length-1;i++)
L.data[i]=L.data[i+1];
L.length--;
output(L);
}
//定位元素位置
int locate(Sqlist L,int x)
{
int i;
for(i=0;i<L.length;i++)
{
if(x<L.data[i])
return i;
}
return i;
}
#include"stdlib.h"
#include"string.h"
#define MaxSize 100
typedef struct
{
int data[MaxSize];
int length;
}Sqlist;
void createSqlist(Sqlist &L);//构建顺序表
void InitSqlist(Sqlist &L);//初始化顺序表
void InsertSqlist(Sqlist &L,int x);//插入数据
int SearchSqlist(Sqlist L,int x);//查找数据
void DeleteSqlist(Sqlist &L,int x);//删除数据
void output(Sqlist L);//输出顺序表
int locate(Sqlist L,int x);//定位元素位置
int main()
{
Sqlist L;
InitSqlist(L);
createSqlist(L);
printf("------打印顺序表-----:\n");
output(L);
printf("------插入元素4-----:\n");
InsertSqlist(L,4);
printf("------删除元素3-----:\n");
DeleteSqlist(L,3);
system("pause");
return 0;
}
//初始化顺序表
void InitSqlist(Sqlist &L)
{
L.length=0;
}
//构建顺序表
void createSqlist(Sqlist &L)
{ int i,n,x;
printf("请输入元素个数:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请输入第%d个元素个数:\n",i+1);
scanf("%d",&x);
L.data[i]=x;
L.length++;
}
}
//打印顺序表
void output(Sqlist L)
{
int i;
for(i=0;i<L.length;i++)
printf("%d\t",L.data[i]);
printf("\n");
}
//查找元素
int SearchSqlist(Sqlist L,int x)
{
int i,p;
for(i=0;i<L.length;i++)
{
if(L.data[i]==x)
{ p=i;
break;
}
}
if(i==L.length)
printf("没有找到!\n");
return p;
}
//插入数据
void InsertSqlist(Sqlist &L,int x)
{
int i,p;
p=locate(L,x);
for(i=L.length-1;i>=p;i--)
L.data[i+1]=L.data[i];
L.data[p]=x;
L.length++;
output(L);
}
//删除数据
void DeleteSqlist(Sqlist &L,int x)
{
int i,p;
p=SearchSqlist(L,x);
for(i=p;i<L.length-1;i++)
L.data[i]=L.data[i+1];
L.length--;
output(L);
}
//定位元素位置
int locate(Sqlist L,int x)
{
int i;
for(i=0;i<L.length;i++)
{
if(x<L.data[i])
return i;
}
return i;
}