#include <iostream.h>
#include <stdio.h>
#define MaxSize 100
typedef int DataType;
typedef struct
{char data[MaxSize];
int length;
}SqList;
void Create_List(SqList*L)
{
int i;
printf("请输入待建立的表长");
scanf("%d",&L->length);
getchar();
printf("请输入%d个元素用空格分开,",L->length);
for(i=0;i<L->length;i++)
{
scanf("%c",&L->data[i]);
}
getchar();
printf("\n成功建立表!按任意键继续!\n");
}
int length_List(SqList L)
{
return L.length;
}
int Empty_List(SqList L)
{
if(L.length==0)
{
return 1;//是空表
}
else
{
return 0;
}
}
void Print_List(SqList L)//判断表是否为空
{
int i;
if(Empty_List(L)==1)
{
printf("空表\n");
return;
}
else
{
for(i=0;i<length_List(L);i++)
{
printf("%c ",L.data[i]);
}
printf("\n按任意键继续");
getchar();
}
}
SqList Delete_List(SqList L,int i)
{
int j;
char x;
if(i<1||i>L.length)
printf("删除位置不正确\n");
else
{
x=L.data[i-1];
for(j=i;j<=L.length-1;j++)
L.data[j-1]=L.data[j];
L.length--;
printf("%c已被删除\n",x);
}
return L;
}
int Locate_List(SqList L,char x)
{
int i=0;
while(i<L.length&&L.data[i]!=x)
i++;
if(i<L.length)
return i+1;
else
return 0;
}
SqList Insert_List(SqList L,int i,char x)
{
int j;
if(L.length==MaxSize)
printf("表满,不能插入\n");//判断表是否为满
else if(i<1||i>L.length+1)
printf("插入位置不正确\n");//判断插入位置是否正确
else
{
for(j=L.length-1;j>=i-1;j--)//元素依次向后移动
L.data[j+1]=L.data[j];
L.data[j-1]=x;//插入x
L.length++; //表长增加1
}
return L;
}
/*void Insert_List(SqList L)
{
int i;
if(i<1&&i>length)
printf("位置错误,请重新插入");
else
for(int a=0;a<length-1;a++)
{
L->data[i+1]=L->data[i];
L->data[i]
}
}*/
void main()
{
SqList s;
int loc,flag=1;
char j,ch;
int temp;
cout<<"本程序用来实现顺序结构的线性表"<<endl;
cout<<"可以实现查找,插入,删除等操作"<<endl;
Create_List(&s); //初始化线性表
while(flag)
{
printf("请选择:\n");
printf("1,显示所以元素\n");
printf("2,插入一个元素\n");
printf("3,删除一个元素\n");
printf("4,查找一个元素\n");
printf("5,退出\n");
scanf("%c",&j);
switch(j)
{
case '1':
Print_List(&s);
case '2':{printf("请输入要插入的元素(一个字符)和插入位置:\n");
printf("格式,字符,位置:例如:a,2\n");
scanf("%c,%d",&ch,&loc);
s=Insert_List(s,loc,ch);
print_List(s);
break;
}
case '3':{printf("请输入一个要删除元素的位置:");
scanf("%d",&loc);//输入要删除的位置
s=Delete_List(s,loc);//删除
print_List(s);
break;}
case '4':{printf("请输入要查找的元素:");
scanf(" %c",&ch);
loc=Locate_List(s,ch);
if(loc!=0)printf("该元素所在位置:%d",loc);
else printf("%c不存在!\n",ch);
break
default:flag=0;printf("程序结束,按任意键退出!\n");
}
}错误好多,帮帮忙。
这位朋友,太感谢你了。 能否留下你的QQ?
C++线性表,分不多。进来帮帮忙。
printf("\\n成功建立表!按任意键继续!\\n");} int length_List(SqList L){ return L.length;} int Empty_List(SqList L){ if(L.length==0){ return 1;\/\/是空表 } else { return 0;} } \/\/ void Print_List(SqList L)\/\/判断表是否为空 void Print_List(SqList *L)\/\/判断表是否...
如何用c++建立一个线性表?
在使用顺序表之前,首先创建一个空的顺序表,也就是初始化顺序表。这里,在程序中只需设置顺序表的结点数量ListLen为0即可。这样,后面需要添加的数据元素将从顺序表的第一个位置存储。示例代码:3、计算线性表的长度:计算线性表的长度也就是计算线性表中结点的个数,由于我们在SLType中定义了ListLen...
数据结构——线性表(一)
线性表的数据存储结构有两种:顺序存储和链式存储。顺序存储将数据存储在连续的内存空间中,而链式存储则在不同内存空间中存储数据,并通过指针链接。接下来,我们使用C语言实现线性表的顺序存储(简称顺序表)。首先引入基本的宏定义和头文件,然后定义一个顺序表结构体。实现初始化、销毁、清空、求长度、...
怎样C++实现线性表的建立、插入、删除、倒序?
void Merge3List(SeqList *L1,SeqList L2); \/\/对递增顺序表L1,L2进行合并,结果存放在顺序表L1中 void reverse(SeqList *L); \/\/逆置线性表函数 void delall(SeqList *L, DataType newelem); \/\/删除特定元素(线性表中有重复元素) do { cout<<endl; cout<<" ***顺序线性表功能菜单***"<<endl; co...
C++线性表创建,如图
define 是文本替换,自己将MAXSIZE替换为 30; 你看看有什么问题?
线性表怎样实现?看不懂这里面的代码?
看数据结构~~~LinkList 是C++提供的一个可供线性存储的类,L是这个类的对象引用 里面的代码,首先是分配linkList所需的内存,然后建立线性链表(具体可见(p->next=L->next;L->next=p;),scanf(&p->data)学过C的都应该知道了吧
谁能帮我介绍一下计算机等级考试(二级和三级)的各种类型
2、线性表的定义、存储和运算。 3、树形结构的定义、存储和运算。 3、排序的基本概念和排序算法。 4、检索的基本概念和检索算法。 三、操作系统 1、操作系统的基本概念、主要功能和分类。 2、进程、线程、进程间通信的基本概念。 3、存储管理、文件管理、设备管理的主要技术。 4、典型操作系统的使用。 四、数据...
【100分】数据结构——使用C语言(线性表)
using namespace std;\/\/c++的一个指令 typedef struct { int *elem; \/\/存储空间基址 int length; \/\/当前长度 int listsize;\/\/当前分配的存储容量 \/\/ (以sizeof(ElemType)为单位)\/\/int *next;}sqlist;void initList(sqlist &La){\/\/构造一个空线性表L La.elem=(int *) malloc(100 ...
[线性表 链表实验报告]链表线性表
实验一:线性表运算的实现 班级 姓名 学号 一、实验预备知识 1 复习C++中编写函数的相关内容。2 复习如何用主函数将多个函数连在一起构成一个C++完整程序。二、实验目的 1 掌握线性表的顺序和链式存储结构 2 熟练运用线性表在顺序存储方式下的初始化、创建、输出、插入和删除运算 3 熟练运用线性表在...
请问DEV C++里面编译线性表的with no type和expected..before...token...
第一句是没有类型 第二句是你漏了什么东西 看你代码才知道错误是什么