📄 shujujieguo.txt
字号:
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <stdio.h>
#define MAXSIZE 100 /*顺序表的容量*/
typedef char ElemType;
typedef struct
{
ElemType data[MAXSIZE]; /*存放顺序表的元素*/
int length; /*顺序表的实际长度*/
} SqList;
void InitList(SqList &sq) /*初始化线性表*/
{
sq.length=0;
}
int GetElem(SqList sq,int i,ElemType &e) /*求线性表中第i个元素*/
{
if (i<1 || i>sq.length) /*无效的i值*/
return 0;
else
{
e=sq.data[i-1];
return 1;
}
}
int Locate(SqList sq,ElemType x) /*按值查找*/
{
int i=0;
while (sq.data[i]!=x) /*查找值为x的第1个结点*/
i++;
if (i>sq.length)
return(0); /*未找到*/
else
return(i+1);
}
int InsElem(SqList &sq,ElemType x,int i) /*插入元素*/
{
int j;
if (i<1 || i>sq.length+1) /*无效的参数i*/
return 0;
for (j=sq.length;j>i;j--) /*将位置为i的结点及之后的结点后移*/
sq.data[j]=sq.data[j-1];
sq.data[i-1]=x; /*在位置i处放入x*/
sq.length++; /*线性表长度增1*/
return 1;
}
int DelElem(SqList &sq,int i) /*删除元素*/
{
int j;
if (i<1 || i>sq.length) /*无效的参数i*/
return 0;
for (j=i;j<sq.length;j++) /*将位置为i的结点之后的结点前移*/
sq.data[j-1]=sq.data[j];
sq.length--; /*线性表长度减1*/
return 1;
}
void DispList(SqList &sq) /*输出线性表*/
{
int i;
for (i=1;i<=sq.length;i++)
cout<<sq.data[i-1]<<setw(2);
cout<<endl;
}
void main()
{
int i;
ElemType e;
SqList sq;
InitList(sq); /*初始化顺序表sq*/
InsElem(sq,'a',1); /*插入元素*/
InsElem(sq,'c',2);
InsElem(sq,'a',3);
InsElem(sq,'e',4);
InsElem(sq,'d',5);
InsElem(sq,'b',6);
cout<<"线性表:"; DispList(sq);
i=3;
GetElem(sq,i,e);
cout<<"第"<<i<<"个元素:"<<e;
cout<<endl;
e='b';
Locate(sq,e);
cout<<"元素"<<e<<"是第"<<i<<"个元素\n";
i=4;
cout<<"删除第"<<i<<"个元素\n";
DelElem(sq,i);
cout<<"线性表:";DispList(sq);
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -