软件工程综合实践作业1

在数据结构课已经学过顺序表

可有

/*顺序表的定义:*/

#define ListSize 100       /*表空间大小可根据实际需要而定,这里假设为100*/

typedef int DataType;      /*DataType可以是任何相应的数据类型如int, float或char*/

typedef struct

{   DataType data[ListSize];   /*向量data用于存放表结点*/

    int length;            /*当前的表长度*/

}SeqList;

 

/*函数的声明*/

void CreateList(SeqList * L,int n);  /*创建顺序表函数*/

int LocateList(SeqList L,DataType x);  /*查找顺序表*/

void InsertList(SeqList * L,DataType x,int i); /*在顺序表中插入结点x*/

void DeleteList(SeqList * L,int i);/*在顺序表中删除第i个结点*/

void PrintList(SeqList L,int n); /*打印顺序表中前n个结点*/

定义出来 为了在这段代码上进行修改来实现

具体实现要求:

 从键盘输入10个整数,产生顺序表,并输入结点值。从键盘输入1个整数,在顺序表中查找该结点的位置。若找到,输出结点的位置;若找不到,则显示“找不到”。从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出顺序表所有结点值,观察输出结果。从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果。

对以上代码进行补充

#include<stdio.h>
#define MaxSize 100
typedef int Datatype;
typedef struct
{
Datatype data[MaxSize];
int length;
}seqlist;
void GreatList(seqlist*L,int n);
int GetList(seqlist L, Datatype x);
int IntList(seqlist *L,Datatype x,int i);
int DelList(seqlist L,int i,Datatype *x);
void PrintList(seqlist L,int n);
void main()
{
seqlist L;
int n=10,x,i;
L.length=0;
printf("great function:\n");
GreatList(&L,n);
PrintList(L,n);
printf("get function:\n");
printf("please input your want to search\n");
scanf("%d",&x);
i=GetList(L,x);
if(i==0)
{
printf("\nsorry,don't find %d\n",x);
}
else
{
printf("\nhave find the %d,it located in %d\n",x,i);
}
printf("\nIns function:\n");
printf("\nplease input the position: \n");
scanf("%d",&i);
printf("\nplease input the data:\n");
scanf("%d",&x);
IntList(&L,i,x); 
PrintList(L,n);
printf("\ndel function:\n");
printf("\nplease input you want to delete position:\n");
scanf("%d",&i);
printf("\nplease input you want delete number:  ");
scanf("%d",&x);
DelList(L,i,&x);
PrintList(L,n);
//getch();
}
void GreatList(seqlist *L,int n)
{
int i;
for(i=0;i<n;i++)
{
printf("\nplease input the %d data \n",i+1);
scanf("%d",&(*L).data[i]);
}

 

转载于:https://www.cnblogs.com/hydx123/p/10473374.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值