顺序表
来源:互联网 发布:eclipse python 开发 编辑:程序博客网 时间:2024/04/27 00:48
#include "stdio.h"
#include "malloc.h"
#define Maxsize 50
typedef int datatype;
typedef struct
{
datatype data[Maxsize];
int length;
}LinkList;
LinkList *InitList()
{
LinkList *S;
S=(LinkList *)malloc(sizeof(LinkList));
printf("初使化顺序表!/n");
if(!S)
{
printf("空间不足");
return NULL;
}else
{
S->length=0;
return S;
}
}
LinkList *createList(LinkList *L)
{
int n,i;
char tmp;
printf("请输入数据的个数:/n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("data[%d]=",i);
fflush(stdin);
scanf("%d",&tmp);
L->data[i]=tmp;
L->length++;
}
//L->length=n-1;
return L;
printf("/n");
}
void DisplayList(LinkList *s)
{
int i;
if(s->length==0){
printf("这是一个空表");
}else{
for(i=0;i<s->length;i++)
{
printf("data[%d]=",i);
printf("%d",s->data[i]);
printf("/n");
}
}
}
LinkList *ListInsert(LinkList *L,datatype data,int i)
{
int j;
if(L->length==Maxsize-1)
{
printf("顺序表以达最大!不可再插入!");
return 0;
}
else if((i<0)||(i>L->length-1))
{
printf("插入的位置不对,请重新输入!");
return 0;
}
else
{
for(j=L->length;j>=i;j--)
{
L->data[j+1]=L->data[j];
}
L->data[i]=data;
L->length=L->length+1;
}
return L;
}
LinkList *ListDel(LinkList *L,int p)
{
int j;
if(p<0||p>L->length-1)
{
printf("所要删除的位置不对,请重新选择位置!");
}
else
{
for(j=p;j<=L->length-1;j++)
{
L->data[j]=L->data[j+1];
}
//L->data[i]=data;
L->length=L->length-1;
}
return L;
}
int main(){
int num,point;
LinkList *p;
p=InitList();
createList(p);
printf("输出这个顺序表的值:/n");
DisplayList(p);
printf("/n");
printf("请输入要插的数据!");
scanf("%d",&num);
printf("请输入要插的位置!");
scanf("%d",&point);
ListInsert(p,num,point);
printf("输出插入一个数据后,这个顺序表的值:/n");
DisplayList(p);
printf("/n");
printf("请选择你所要删除数据的位置!");
scanf("%d",&point);
ListDel(p,point);
printf("输出插入一个数据后,这个顺序表的值:/n");
DisplayList(p);
printf("/n");
}
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 顺序表
- 查找间断SQL的主键
- 如何使用JAVA 去很好的控制输出的时间
- python第一天
- 知识改变命运,奋斗改变人生
- spring中对存储过程的调用
- 顺序表
- C#时间比较
- JAVA 面试题
- 分页显示解决Result set type is TYPE_FORWARD_ONLY
- 认识控制台-控制台句柄、附着到控制台、关闭控制台
- SQL Server:定时作业的设置方法 http://www.net130.com/CMS/Pub/softlevel/softlevel_dbengineer/2006_08_16_35375.htm
- JS模拟事件委托。。。
- Programmatically Setting the ObjectDataSource's Parameter Values(Data Access Turorial 6)
- DOS常用命令