
// Link_SeqList.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
using namespace std;
const int MAXSIZE=100;
int flag=0;
//定义一个顺序表结构体
typedef struct
{
int data[MAXSIZE];
int last;
}SeqList;
//定义一个顺序表
SeqList L;
//顺序表初始化
SeqList *Init_SeqList()
{
SeqList *L;//定义一个指向SeqList 类型的指针变量
L=(SeqList *)malloc(sizeof(SeqList));//通过这个操作让L获得顺序表的存储空间,L存放的是顺序表的地址
L->last=-1;//表中last 指针置为-1,表示表中没有数据元素
return L;
}
//顺序表中插入元素
int Insert_SeqList(SeqList *L,int i,int x)
{
int j;
if(L->last==MAXSIZE-1)
{
printf("表满!");
flag=-1;
}
if(i<1||i>L->last+2)
{
printf("位置错误!");
flag=0;
}
for(j=L->last;j>=i-1;j--)
{
L->data[j+1]=L->data[j];
}
L->data[i-1]=x;
L->last++;
flag=1;
return flag;
}
//顺序表中删除一个元素
int Delete_SeqList(SeqList *L,int i)
{
int j;
if(i<1||i>L->last+1)
{
cout<<"不存在第i个元素!"< } for(j=i;j<=L->last;j++) L->data[j-1]=L->data[j]; L->last--; flag=1; return flag; } //在顺序表中查找一个元素 int Location_SeqList(SeqList *L,int x) { int i=0; while(i<=L->last&&L->data[i]!=x) i++; if(i>L->last) { cout<<"查找失败!"< return -1; } else return i; } int main(int argc, char* argv[]) { SeqList *L; int i,x,count=0; L=Init_SeqList(); while(count<5) { cout<<"please input i,x:"< cin>>x; loop1: Insert_SeqList(L,i,x); count++; if(flag==-1||flag==0) { count--; goto loop1; } } cout<<"The SeqList L->last=="< cout<<"L->data["<data[i]< cout<<"Please input x:"< cout<<"x的位置:"< Delete_SeqList(L,i); if(flag==0) { cout<<"第i个元素不存在!请重新输入:"< } cout<<"The SeqList L->last=="< cout<<"L->data["<data[i]< }
