建立一个顺序表L={21,23,14,5,56,17,31},然后在第3个位置插入元素68,最后依次显示当前线性表中的数据元素。(顺序表的头文件可利用实验二的,不需要重新建立) 2. 在第一题的基础上,设计函数(该函数放在顺序表头文件内),实现顺序表的逆置。 3. 在第一题的基础上,设计函数(该函数放在顺序表头文件内),实现顺序表的就地逆置。
时间: 2023-05-21 13:06:05 浏览: 214
1. 顺序表L={21, 23, 14, 5, 56, 17, 31},在第3个位置插入元素68,最后依次显示当前线性表中的数据元素。
答案:
#include <stdio.h>
#include "SqList.h"
int main()
{
Sqlist L;//定义顺序表
int i,n;
//初始化顺序表
InitList(&L);
//给顺序表赋值
for(i=0;i<7;i++)
ListInsert(&L,i,i+1);
//打印顺序表
printf("顺序表L的元素为:\n");
PrintList(L);
//在第3个位置插入元素68
ListInsert(&L,2,68);
//打印插入后的顺序表
printf("在第3个位置插入元素68后,顺序表L的元素为:\n");
PrintList(L);
return 0;
}
2. 设计函数(该函数放在顺序表头文件内),实现顺序表的逆置。
答案:
void ReverseList(Sqlist *L)
{
int i,temp,j;
for(i=1;i<=L->length/2;i++){
temp = L->data[i-1];//交换两个元素
L->data[i-1] = L->data[L->length-i];
L->data[L->length-i] = temp;
}
}
3. 设计函数(该函数放在顺序表头文件内),实现顺序表的就地逆置。
答案:
void ReverseListInPlace(Sqlist *L)
{
int i,temp,j;
for(i=1;i<=L->length/2;i++){
temp = L->data[i-1];//交换两个元素
L->data[i-1] = L->data[L->length-i];
L->data[L->length-i] = temp;
}
}
阅读全文