当前位置:
文档之家› 数据结构之顺序表的建立、打印、查找、插入、删除
数据结构之顺序表的建立、打印、查找、插入、删除
void PrintList(SeqList L);
int LocateList(SeqList L,DataType x);
void InsertList(SeqList *L,DataType x,int i);
void DeleteList(SeqList *L,int i);
CreateList(&L,n);//建立顺序表
L->length++;
L->data[i-1]=x;
cout<<"插入成功!"<<endl;
}
//顺序表的删除:
void DeleteList(SeqList *L,int i)
{
if(i<1 || i>L->length)
{
cout<<"删除位置不合法!"<<endl;
return;
}
for(int j=i;j<L->length;j++)
for(int i=0;i<n;i++)
{ cin>>L->data[i]; }
L->length=n;
}
//顺序表的打印:
void PrintList(SeqList L)
{
cout<<"顺序表的顺序为:"<<endl;
for(int i=0;i<L.length;i++)
{ cout<<setw(6)<<L.data[i]; }
PrintList(L);//打印顺序表
cout<<"输入要删除的位置:";
cin>>i;
DeleteList(&L,i);//顺序表删除
PrintList(L);//打印顺序表
}
//顺序表的建立:
void CreateList(SeqList *L,int n)
{
cout<<"请输入10个数据:"<<endl;
void InsertList(SeqList *L,DataType x,int i)
{
if(i<1 || i>L->length+1)
{
cout<<"插入位置合法!"<<endl;
return;
}
for(int j=L->length-1;j>=i-1;j--)
{ L->data[j+1]=L->data[j]; }
cout<<endl;
}
//顺序表的查找:
int LocateList(SeqList L,DataType x)
{
for(int i=0;i<L.length;i++)
{
if(L.data[i]==x)
{ return i+1; }
}
cout<<x<<"找不到"<<endl;L->data[j-1]=L->data[j];}
L->length--;
cout<<"删除成功!"<<endl;
}
typedef struct
{DataType data[ListSize];//向量data用于存放表结点
int length;//当前的表长度
}SeqList;
void main()
{
SeqList L;
int i,x;
int n=10;//欲建立的顺序表长度
L.length=0;
void CreateList(SeqList *L,int n);
PrintList(L);//打印顺序表
cout<<"输入要查找的值:";
cin>>x;
i=LocateList(L,x);//顺序表查找
cout<<"查找的值所在的位置:"<<i<<endl;
cout<<"输入要插入的位置:";
cin>>i;
cout<<"输入要插入的元素:";
cin>>x;
InsertList(&L,x,i);//顺序表插入
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <iomanip.h>
//顺序表的定义:
#define ListSize 100//表空间大小可根据实际需要而定,这里假设为100
typedef int DataType;//DataType可以是任何相应的数据类型如int, float或char