标题: | 顺序表上的基本操作实现 |
时 限: | 1000 ms |
内存限制: | 10000 K |
总时限: | 1000 ms |
描述: | 在顺序存储结构实现基本操作:初始化、创建、插入、删除、查找、遍历、逆置、合并运算。 |
输入: | 输入线性表La的长度:n 输入线性表La中的元素:a1 a2 a3 ...an(数值有序,为降序) 输入要插入到线性表La中的元素x和插入的位置i:x i 输入要删除元素的位置:i 输入要查找的元素:x 输入线性表Lb的长度:m 输入线性表Lb中的元素:b1 b2...bm(数值有序,为升序) |
输出: | 创建好的线性表La=a1 a2...an 插入一个元素后的线性表La=a1 a2...an+1 删除一个元素后的线性表La=a1 a2...an 查找一个输入的元素,如果找到,输出"找到,x在第i个位置";如果没有找到,输出"没找到"的信息。 逆置La后的线性表an an-1...a1 合并La和Lb后的线性表 |
输入样例: |
5 |
输出样例: |
创建好的线性表La=14 11 10 9 5 |
#include <stdlib.h>
void creat(int *p,int length)
{
int i;
for(i=0;i<length;i++)
{
scanf("%d",&p[i]);
}
}
void view(int *p,int length)
{
int i;
for(i=0;i<length;i++)
{
printf("%d ",p[i]);
}
printf("\n");
}
void insert(int La[],int x,int i,int length)
{
int p;
for(p=length-1;p>=i-1;p--)
{
La[p+1]=La[p];
}
p++;
La[p]=x;
}
void delet(int La[],int j,int length)
{
int i;
for(i=j-1;i<length;i++)
{
La[i]=La[i+1];
}
}
void union_list(int Lc[],int La[],int Lb[],int length,int k)
{
int m,q,n;
m=n=q=0;
while(m<length&&n<k)
{
if(La[m]<Lb[n])
{
Lc[q]=La[m];
q++;
m++;
}
else
{
Lc[q]=Lb[n];
q++;
n++;
}
}
if(n==k)
{
while(m<length)
{
Lc[q]=La[m];
m++;
q++;
}
}
if (m==length)
{
while(n<k)
{
Lc[q]=Lb[n];
n++;
q++;
}
}
}
void found(int *p,int y,int length)
{
int i=0;
int rate=0;
for(;i<length;i++)
{
if(p[i]==y)
{
rate=1;
printf("找到,%d在第%d个位置\n",y,++i);
break;
}
}
if(rate==0)
printf("没找到\n");
}
void exchange(int La[],int length)
{
int i=0;
int j=length;
int temp;
for(;i<=(length-1)/2;i++)
{
temp=La[i];
La[i]=La[--j];
La[j]=temp;
}
}
int main()
{
typedef int type;
int length,i,j,k;
type La[1000],Lb[1000],Lc[2000],x,y;
printf("请输入线性表La的长度:\n");
scanf("%d\n",&length);
printf("请输入线性表La中的元素:\n");
creat(La,length);
printf("创建好的线性表La=");
view(La,length);
printf("请输入要插入到线性表中的数字x和插入的位置i:\n");
scanf("%d%d",&x,&i);
insert(La,x,i,length);
printf("线性表La=");
view(La,++length);
printf("请输入要删除的数字的位置:\n");
scanf("%d",&j);
delet(La,j,--length);
printf("线性表La=");
view(La,length);
printf("请输入要查找的数字:\n");
scanf("%d",&y);
found(La,y,length);
exchange(La,length);
printf("逆置后的线性表La=");
view(La,length);
printf("请输入线性表Lb长度:\n");
scanf("%d",&k);
printf("请输入线性表Lb中的元素:\n");
creat(Lb,k);
printf("合并La和Lb后的线性表为:");
union_list(Lc,La,Lb,length,k);
view(Lc,length+k);
return 0;
}
标题: | 顺序表上的基本操作实现 |
时 限: | 1000 ms |
内存限制: | 10000 K |
总时限: | 1000 ms |
描述: | 在顺序存储结构实现基本操作:初始化、创建、插入、删除、查找、遍历、逆置、合并运算。 |
输入: | 输入线性表La的长度:n 输入线性表La中的元素:a1 a2 a3 ...an(数值有序,为降序) 输入要插入到线性表La中的元素x和插入的位置i:x i 输入要删除元素的位置:i 输入要查找的元素:x 输入线性表Lb的长度:m 输入线性表Lb中的元素:b1 b2...bm(数值有序,为升序) |
输出: | 创建好的线性表La=a1 a2...an 插入一个元素后的线性表La=a1 a2...an+1 删除一个元素后的线性表La=a1 a2...an 查找一个输入的元素,如果找到,输出"找到,x在第i个位置";如果没有找到,输出"没找到"的信息。 逆置La后的线性表an an-1...a1 合并La和Lb后的线性表 |
输入样例: |
5 |
输出样例: |
创建好的线性表La=14 11 10 9 5 |
标题: | 顺序表上的基本操作实现 |
时 限: | 1000 ms |
内存限制: | 10000 K |
总时限: | 1000 ms |
描述: | 在顺序存储结构实现基本操作:初始化、创建、插入、删除、查找、遍历、逆置、合并运算。 |
输入: | 输入线性表La的长度:n 输入线性表La中的元素:a1 a2 a3 ...an(数值有序,为降序) 输入要插入到线性表La中的元素x和插入的位置i:x i 输入要删除元素的位置:i 输入要查找的元素:x 输入线性表Lb的长度:m 输入线性表Lb中的元素:b1 b2...bm(数值有序,为升序) |
输出: | 创建好的线性表La=a1 a2...an 插入一个元素后的线性表La=a1 a2...an+1 删除一个元素后的线性表La=a1 a2...an 查找一个输入的元素,如果找到,输出"找到,x在第i个位置";如果没有找到,输出"没找到"的信息。 逆置La后的线性表an an-1...a1 合并La和Lb后的线性表 |
输入样例: |
5 |
输出样例: |
创建好的线性表La=14 11 10 9 5 |
标题: | 顺序表上的基本操作实现 |
时 限: | 1000 ms |
内存限制: | 10000 K |
总时限: | 1000 ms |
描述: | 在顺序存储结构实现基本操作:初始化、创建、插入、删除、查找、遍历、逆置、合并运算。 |
输入: | 输入线性表La的长度:n 输入线性表La中的元素:a1 a2 a3 ...an(数值有序,为降序) 输入要插入到线性表La中的元素x和插入的位置i:x i 输入要删除元素的位置:i 输入要查找的元素:x 输入线性表Lb的长度:m 输入线性表Lb中的元素:b1 b2...bm(数值有序,为升序) |
输出: | 创建好的线性表La=a1 a2...an 插入一个元素后的线性表La=a1 a2...an+1 删除一个元素后的线性表La=a1 a2...an 查找一个输入的元素,如果找到,输出"找到,x在第i个位置";如果没有找到,输出"没找到"的信息。 逆置La后的线性表an an-1...a1 合并La和Lb后的线性表 |
输入样例: |
5 |
输出样例: |
创建好的线性表La=14 11 10 9 5 |
标题: | 顺序表上的基本操作实现 |
时 限: | 1000 ms |
内存限制: | 10000 K |
总时限: | 1000 ms |
描述: | 在顺序存储结构实现基本操作:初始化、创建、插入、删除、查找、遍历、逆置、合并运算。 |
输入: | 输入线性表La的长度:n 输入线性表La中的元素:a1 a2 a3 ...an(数值有序,为降序) 输入要插入到线性表La中的元素x和插入的位置i:x i 输入要删除元素的位置:i 输入要查找的元素:x 输入线性表Lb的长度:m 输入线性表Lb中的元素:b1 b2...bm(数值有序,为升序) |
输出: | 创建好的线性表La=a1 a2...an 插入一个元素后的线性表La=a1 a2...an+1 删除一个元素后的线性表La=a1 a2...an 查找一个输入的元素,如果找到,输出"找到,x在第i个位置";如果没有找到,输出"没找到"的信息。 逆置La后的线性表an an-1...a1 合并La和Lb后的线性表 |
输入样例: |
5 |
输出样例: |
创建好的线性表La=14 11 10 9 5 |