|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#define MaxLen 100
typedef int DataType;
typedef struct
{
DataType data[MaxLen];
int length;
}SeqList;
void InitList(SeqList *L);
void AddList(SeqList *L);
void PrintfList(SeqList L);
void GetLength(SeqList L);
DataType GetNode(SeqList L,int i);
int Locate(SeqList L,DataType e);
void InsertList(SeqList *L,int i,DataType e);
void DeleteList(SeqList *L,int i);
int main()
{
SeqList A;
SeqList B;
// int i;
// DataType x;
InitList(&A);
AddList(&A);
PrintfList(A);
InitList(&B);
AddList(&B);
PrintfList(B);
// GetLength(L);
// i=Locate(L,100);
// x=GetNode(L,5);
// if(x!=-1)
// {
// printf("第五个数据元素的值为%d\n",x);
// }
// if(i)
// {
// printf("100是序号为%d的数据元素的值\n",i);
// }
// else
// {
// printf("元素的值等于100的数据不存在\n");
// }
// InsertList(&L,4,100);
// PrintfList(L);
// DeleteList(&L,5);
// PrintfList(L);
return 0;
}
void InitList(SeqList *L)
{
L->length==0;
return;
}
void AddList(SeqList *L)
{
int x;
char ch;
do
{
if(L->length==MaxLen)
{
printf("顺序表已满。\n");
return;
}
printf("请输入存放到顺序表中的数据元素的值\n");
scanf("%d",&x);
getchar();
L->data[L->length++]=x;
printf("是否继续输入数据元素的值(Y/N)\n");
scanf("%c",&ch);
getchar();
}
while(ch=='Y'||ch=='y');
}
void PrintfList(SeqList L)
{
int i;
for(i=0;i<L.length;i++)
{
printf("(%d)%d\t\n",i+1,L.data[i]);
}
return;
}
void GetLength(SeqList L)
{
printf("%d",L.length);
return;
}
DataType GetNode(SeqList L,int i)
{
if(i<1||i>L.length+1)
{
printf("所查找的数据不存在\n");
return -1;
}
return L.data[i-1];
}
int Locate(SeqList L,DataType e)
{
int i;
for(i=0;i<L.length;i++)
{
if(L.data[i]==e)
{
return i+1;
i++;
}
}
return 0;
}
void InsertList(SeqList *L,int i,DataType e)
{
int j;
if(L->length==MaxLen)
{
printf("顺序表已满!");
return;
}
if(i<1||i>L->length+1)
{
printf("插入位置错误");
return;
}
for(j=L->length;j>=i;j--)
{
L->data[j+1]=L->data[j];
}
L->data[i-1]=e;
L->length++;
return;
}
void DeleteList(SeqList *L,int i)
{
int j;
if(i<1||i>L->length)
{
printf("位置错误!");
}
for(j=i;j<L->length;j++)
{
L->data[j-1]=L->data[j];
}
L->length--;
return;
}
- void InitList(SeqList *L)
- {
- L->length=0; // 两个双等号?
- return;
- }
复制代码
|
|