任务和代码:
main.cpp
/*
*All rights reserved
*文件名称:main.c
*作者: Osseyda
完成日期:2018.5.2
*版本号:v2.
*
*问题描述:顺序表的应用
*问题输出:1.程序的多文件组织形式 ; 2.要求算法的时间复杂度为O(n)
*/
#include "list.h"
#include <stdio.h>
int main()
{
SqList *sq;
InitList(sq);
ElemType x[7]= {5,8,7,2,5,4,9};
ElemType e1, e2;
/*创建线性表并显示*/
CreateList(sq, x, 7);
printf("创建线性表:");
DispList(sq);
printf("\n");
/*删除某个值对应的所有元素*/
delnode1(sq,5);
printf("删除值为5的所有元素后的线性表:");
DispList(sq);
printf("\n");
/*判断线性表是否为空,不为空则打印长度*/
if(ListEmpty(sq))
printf("该线性表为空");
else
printf("该线性表不为空且长为%d",ListLength(sq));
printf("\n\n");
/*指定位置插入元素并打印新的线性表*/
ListInsert(sq,2,3);
printf("在第2个元素位置添加元素3:");
DispList(sq);
printf("\n");
/*读指定位置的元素值并打印*/
if(GetElem(sq,4,e1))
printf("4号位置对应的元素: %d",e1);
else
printf("位置不在线性表长度之内");
printf("\n\n");
/*读指定元素位置并打印*/
if(LocateElem(sq,11))
printf("元素值11对应的位置为: %d",LocateElem(sq,7));
else
printf("元素值11对应元素不在此线性表内");
printf("\n\n");
/*删除指定位置的元素并打印新的线性表*/
ListDelete(sq,5,e2);
printf("删除5号位置元素后的新线性表:");
DispList(sq);
printf("\n");
/*销毁线性表*/
DestroyList(sq);
/*合并线性表*/
SqList *sq1, *sq2, *sq0;
InitList(sq1);
ElemType x1[6]= {5,8,7,2,4,9};
CreateList(sq1, x1, 6);