赞
踩
使用软件:vs code
基本操作:
PrintfList(SqList L);//输出操作
- #define Maxsize 50 //定义线性表的最大长度
- typedef struct SqList
- {
- Elemtype data[Maxsize];//顺序表的元素
- int length; //顺序表的长度
- }SqList; //顺表表的类型定义
- Status InitList(SqList *L)
- {
- printf("初始化:************************************\n");
- L->length=0;
- printf("初始化完成\n");
- return 1;
- }
- Status ListInsert(SqList &L,int i,Elemtype e)
- {
- printf("插入操作:************************************\n");
- printf("在第%d位,插入%d\n",i,e);
- if (i<1||i>L.length+1)
- {
- printf("插入失败\n");
- return false; //判断输入i的范围是否有效
-
-
- }
- if (L.length>=Maxsize)
- {
- printf("插入失败\n");
- return false; //判断表是否满
-
- }
- for (int j=L.length;j>=i;j--)
- {
- L.data[j]==L.data[j-1]; //将第i个元素及之后的元素后移
-
- }
- L.data[i-1]=e; //在位置i上加入e值
- L.length++; //线性表长度加1
- printf("插入成功\n");
- return true;
-
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- Status ListDelete(SqList &L,int i,Elemtype e)
- {
- printf("删除操作:************************************\n");
- if (i<1||i>L.length) //判断i的范围是否有效
- {
- return false;
- }
- if (L.length>=Maxsize)
- {
- return false;
- }
- for (int j = i; j < L.length; j++)
- {
- L.data[j-1]=L.data[j]; //将第i个位置后元素前移
- }
- L.length--; //线性表长度减1
- return true;
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- Status LocateElem(SqList &L,Elemtype e)
- {
- printf("按值查找操作:************************************\n");
- printf("和%d相同的值的位置为:\n",e);
- for (int i = 0; i < L.length; i++)
- {
- if (L.data[i]==e)
- {
- printf("data[%d]\n",i+1);
- }
-
- }
- return 1;
- }
- Status GetElem(SqList &L,int i)
- {
- printf("按位查找:************************************\n");
- printf("第%d位的值是%d:\n",i,L.data[i-1]);
- return 1;
- }
- void PrintfList(SqList L)
- {
- printf("输出操作:************************************\n");
- printf("data中\n");
- for (int i = 0; i < L.length; i++)
- printf("data[%d] = %d ", i, L.data[i]);
- printf("\n线性表的长度为 %d \n", L.length);
- return;
- }
(要是在自己的电脑上运行请先创建一个以(.cpp)为后缀的文件然后再复制下面代码)
- #include<stdio.h>
- #include <cstring>
- #include <iostream>
- #include <iomanip>
- #define Maxsize 50
- #define Status int
- #define Elemtype int
- typedef struct SqList
- {
- Elemtype data[Maxsize];
- int length;
- /* data */
- }SqList;
- Status InitList(SqList *L);//初始化
- Status Length(SqList &L);//求表长
- Status ListInsert(SqList &L,int i,Elemtype e);//插入操作
- Status ListDelete(SqList &L,int i,Elemtype e);//删除操作
- Status LocateElem(SqList &L,Elemtype e);//按值查找
- Status GetElem(SqList &L,int i);//按位查找
-
- void PrintfList(SqList L);
- int main()
- {
- SqList L;
- InitList(&L);
- Length(L);
- ListInsert(L, 1, 0);
- ListInsert(L, 2, 1);
- ListInsert(L, 3, 2);
- ListInsert(L, 4, 1);
- ListDelete(L, 2, 1);
- LocateElem(L,1);
- GetElem(L, 1);
- PrintfList(L);
- system("pause");
- }
-
-
-
- //初始化
- Status InitList(SqList *L)
- {
- printf("初始化:************************************\n");
- L->length=0;
- printf("初始化完成\n");
- return 1;
- }
-
- //求表长
- Status Length(SqList &L)
- {
- printf("求表长:************************************\n");
- printf("%d\n",L.length);
- return 1;
- }
-
- //插入操作
- Status ListInsert(SqList &L,int i,Elemtype e)
- {
- printf("插入操作:************************************\n");
- printf("在第%d位,插入%d\n",i,e);
- if (i<1||i>L.length+1)
- {
- printf("插入失败\n");
- return false; //判断输入i的范围是否有效
-
- /* code */
- }
- if (L.length>=Maxsize)
- {
- printf("插入失败\n");
- return false; //判断表是否满
- /* code */
- }
- for (int j=L.length;j>=i;j--)
- {
- L.data[j]==L.data[j-1];
- /* code */
- }
- L.data[i-1]=e;
- L.length++;
- printf("插入成功\n");
- return true;
-
- }
-
- //输出操作
- void PrintfList(SqList L)
- {
- printf("输出操作:************************************\n");
- printf("data中\n");
- for (int i = 0; i < L.length; i++)
- printf("data[%d] = %d ", i, L.data[i]);
- printf("\n线性表的长度为 %d \n", L.length);
- return;
- }
- //删除操作
- Status ListDelete(SqList &L,int i,Elemtype e)
- {
- printf("删除操作:************************************\n");
- if (i<1||i>L.length)
- {
- return false;
- /* code */
- }
- if (L.length>=Maxsize)
- {
- return false;
- /* code */
- }
- for (int j = i; j < L.length; j++)
- {
- L.data[j-1]=L.data[j];
- /* code */
- }
- L.length--;
- return true;
- }
-
-
- //按值查找
- Status LocateElem(SqList &L,Elemtype e)
- {
- printf("按值查找操作:************************************\n");
- printf("和%d相同的值的位置为:\n",e);
- for (int i = 0; i < L.length; i++)
- {
- if (L.data[i]==e)
- {
- printf("data[%d]\n",i+1);
- /* code */
- }
-
- }
- return 1;
- }
-
- //按位查找
- Status GetElem(SqList &L,int i)
- {
- printf("按位查找:************************************\n");
- printf("第%d位的值是%d:\n",i,L.data[i-1]);
- return 1;
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。