早教吧作业答案频道 -->其他-->
用c语言构造一个表,然后查找表内是否有某元素,如果有则交换该元素和它相邻的下一元素的位置构造元素类型为整型的线性表,将以下元素插入分别插入线性表:2、查找表中是否存在
题目详情
用c语言构造一个表,然后查找表内是否有某元素,如果有则交换该元素和它相邻的下一元素的位置
构造元素类型为整型的线性表,将以下元素插入分别插入线性表:
<34 56 20 9 15 5>
2、查找表中是否存在元素20,实现元素20与元素9的交换;
3、按照课题要求编写函数,实现线性表元素<34 56 9 20 15 5>的倒置,即倒置后的表应为< 5 15 20 9 56 34 >。
构造元素类型为整型的线性表,将以下元素插入分别插入线性表:
<34 56 20 9 15 5>
2、查找表中是否存在元素20,实现元素20与元素9的交换;
3、按照课题要求编写函数,实现线性表元素<34 56 9 20 15 5>的倒置,即倒置后的表应为< 5 15 20 9 56 34 >。
▼优质解答
答案和解析
/*
A线性表为: 34 56 9 20 15 5
请输入要查找的元素: 20
找到、并成功交换。
34 56 20 9 15 5
反转后的A为:
5 15 9 20 56 34
Press any key to continue
*/
#include#include
#define Max 100 // 定义线性表的最大长度typedef int Datatype; // 定义线性表的数据类型
typedef struct {
Datatype *data; // 线性表头指针
int length; // 当前长度
}SqList;
SqList *InitList(Datatype a[],int n) {
int i;
SqList *L = (SqList *)malloc(sizeof(SqList));
L->data = (Datatype *)malloc(sizeof(int) * Max);
L->length = n;
for(i = 0; i < n; ++i)
L->data[i] = a[i];
return L;
}
int Search_Swap(SqList *L,Datatype d) {
int i;
Datatype t;
for(i = 0; i < L->length; ++i) {
if(L->data[i] == d) {
if(i > 0) {
t = L->data[i];
L->data[i] = L->data[i - 1];
L->data[i - 1] = t;
return 1;
}
}
}
return 0;
}
void ReverseList(SqList *L) {
int i;
Datatype t;
for(i = 0; i < L->length/2; ++i) {
t = L->data[i];
L->data[i] = L->data[L->length - 1 - i];
L->data[L->length - 1 - i] = t;
}
}
void PrintList(SqList *L) {
int i;
for(i = 0; i < L->length; ++i)
printf("%d ",L->data[i]);
printf("\n");
}
int main() {
Datatype x,a[] = {34,56,9,20,15,5};
SqList *A = InitList(a,6);
printf("A线性表为: ");
PrintList(A);
printf("请输入要查找的元素: ");
scanf("%d",&x);
if(Search_Swap(A,x)) {
printf("找到、并成功交换。\n");
PrintList(A);
}
else printf("没有找到元素 %d。\n",x);
ReverseList(A);
printf("反转后的A为:\n");
PrintList(A);
free(A->data);
free(A);
return 0;}
A线性表为: 34 56 9 20 15 5
请输入要查找的元素: 20
找到、并成功交换。
34 56 20 9 15 5
反转后的A为:
5 15 9 20 56 34
Press any key to continue
*/
#include
#define Max 100 // 定义线性表的最大长度typedef int Datatype; // 定义线性表的数据类型
typedef struct {
Datatype *data; // 线性表头指针
int length; // 当前长度
}SqList;
SqList *InitList(Datatype a[],int n) {
int i;
SqList *L = (SqList *)malloc(sizeof(SqList));
L->data = (Datatype *)malloc(sizeof(int) * Max);
L->length = n;
for(i = 0; i < n; ++i)
L->data[i] = a[i];
return L;
}
int Search_Swap(SqList *L,Datatype d) {
int i;
Datatype t;
for(i = 0; i < L->length; ++i) {
if(L->data[i] == d) {
if(i > 0) {
t = L->data[i];
L->data[i] = L->data[i - 1];
L->data[i - 1] = t;
return 1;
}
}
}
return 0;
}
void ReverseList(SqList *L) {
int i;
Datatype t;
for(i = 0; i < L->length/2; ++i) {
t = L->data[i];
L->data[i] = L->data[L->length - 1 - i];
L->data[L->length - 1 - i] = t;
}
}
void PrintList(SqList *L) {
int i;
for(i = 0; i < L->length; ++i)
printf("%d ",L->data[i]);
printf("\n");
}
int main() {
Datatype x,a[] = {34,56,9,20,15,5};
SqList *A = InitList(a,6);
printf("A线性表为: ");
PrintList(A);
printf("请输入要查找的元素: ");
scanf("%d",&x);
if(Search_Swap(A,x)) {
printf("找到、并成功交换。\n");
PrintList(A);
}
else printf("没有找到元素 %d。\n",x);
ReverseList(A);
printf("反转后的A为:\n");
PrintList(A);
free(A->data);
free(A);
return 0;}
看了 用c语言构造一个表,然后查找...的网友还看了以下:
A、B、C均为短周期元素,它们在周期表中的位置如下图所示。已知:B、C两元素原子最外层电子数之和等 2020-04-08 …
怎么写硫和钙的化学式如何写一个变价元素和一个只有单一价的元素的化合价?是否存在一种物质,其组成的元 2020-05-13 …
蓝藻中的叶绿素属于叶绿素A?它和光合作用中的叶绿素区别与联系? 2020-05-16 …
纯化水和蒸溜水!看清楚是纯化水,不是纯净水!我马上要参加健美比赛赛前脱水只能喝不含盐钠的水,我在医 2020-07-07 …
A、B、C均为短周期元素,它们在周期表中的位置如右图.已知B、C两元素在周期表中族序数之和是A元素 2020-07-07 …
元素周期表中某些元素之间存在特殊的对角关系:如等,处于对角关系的元素,其单质、化合物的性质相似.比 2020-07-29 …
在元素周期表中,同一主族元素化学性质相似.目前也发现有些元素的化学性质和它在周期表中左上方或右下方 2020-08-02 …
下列关于互素和素数的说法错误的是()A.两个合数不一定互素B.1和任意一个正整数互素C.两个正整数中 2020-11-17 …
只缺少量元素,吃补充多元素的药会不会引起其它元素过量?比如说我只缺乏维生素AD那么我吃补充多元微量元 2020-12-14 …
氰(CN)2、硫氰(SCN)2等称为拟卤素,它们与卤素单质性质相似,它们的阴离子也与卤素阴离子性质相 2021-01-11 …