建立顺序表
2014-01-11 14:34
295 查看
//算法功能:建立顺序表
//算法思路:先判断拟建立的顺序表的长度n是否大于顺序表初始化时
//的存储容量LIST_INIT_SIZE,如果n > LIST_INIT_SIZE,
//则按照n重新分配顺序表大小,反之则依次将数据元素存储到顺序表中。
#include <stdio.h>
#include <stdlib.h>
#define OVERFLOW -2
#define OK 1
#define ERROR 0
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef int ElemType;
typedef int Status;
//定义顺序表存储结构
typedef struct
{
ElemType *elem;
int length;
int listsize;
}SqList;
//初始化顺序表
Status InitList_Sq(SqList &L)
{
L.elem = (ElemType*) malloc (LIST_INIT_SIZE * sizeof(ElemType));
if(!L.elem)
exit(ERROR);
L.length = 0;
L.listsize = LIST_INIT_SIZE;
return OK;
}
void CreateList(SqList &L, int len)
{
if(len > LIST_INIT_SIZE) //顺序表大小大于初始化大小,重新分配空间
{
L.elem = (ElemType*) realloc (L.elem, len*sizeof(ElemType));
L.listsize = len;
}
printf("请输入顺序表元素: \n");
for(int i = 0; i < len; i++)
scanf("%d", &L.elem[i]);
L.length = len;
printf("建立的顺序表为:\n");
for(int i = 0; i < len; i++)
printf("%d ", L.elem[i]);
printf("\n顺序表一共 %d 个元素。\n",L.length);
}
int main()
{
SqList L;
int Sqlen;
if(!InitList_Sq(L))
{
printf("初始化顺序表失败!\n");
exit(ERROR);
}
printf("输入顺序表个数:\n");
scanf("%d", &Sqlen);
CreateList(L, Sqlen);
return 0;
}
//算法思路:先判断拟建立的顺序表的长度n是否大于顺序表初始化时
//的存储容量LIST_INIT_SIZE,如果n > LIST_INIT_SIZE,
//则按照n重新分配顺序表大小,反之则依次将数据元素存储到顺序表中。
#include <stdio.h>
#include <stdlib.h>
#define OVERFLOW -2
#define OK 1
#define ERROR 0
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef int ElemType;
typedef int Status;
//定义顺序表存储结构
typedef struct
{
ElemType *elem;
int length;
int listsize;
}SqList;
//初始化顺序表
Status InitList_Sq(SqList &L)
{
L.elem = (ElemType*) malloc (LIST_INIT_SIZE * sizeof(ElemType));
if(!L.elem)
exit(ERROR);
L.length = 0;
L.listsize = LIST_INIT_SIZE;
return OK;
}
void CreateList(SqList &L, int len)
{
if(len > LIST_INIT_SIZE) //顺序表大小大于初始化大小,重新分配空间
{
L.elem = (ElemType*) realloc (L.elem, len*sizeof(ElemType));
L.listsize = len;
}
printf("请输入顺序表元素: \n");
for(int i = 0; i < len; i++)
scanf("%d", &L.elem[i]);
L.length = len;
printf("建立的顺序表为:\n");
for(int i = 0; i < len; i++)
printf("%d ", L.elem[i]);
printf("\n顺序表一共 %d 个元素。\n",L.length);
}
int main()
{
SqList L;
int Sqlen;
if(!InitList_Sq(L))
{
printf("初始化顺序表失败!\n");
exit(ERROR);
}
printf("输入顺序表个数:\n");
scanf("%d", &Sqlen);
CreateList(L, Sqlen);
return 0;
}
相关文章推荐
- 建立顺序表
- C++中如何建立一个顺序表
- java语言建立顺序表
- java建立顺序表及增删改查的实现
- C++中如何建立一个顺序表
- 编程实现顺序表的以下基本操作:建立顺序表,修改顺序表,插入顺序表,删除顺序表。
- java建立顺序表及增删改查功能实现
- 【数据结构作业六a】建立一个顺序表,用顺序查找、折半查找的方法对其实施查找
- C++中如何建立一个顺序表
- 第三周--建立“顺序表”的算法库
- 20180306(C++引用做参数/顺序表建立)
- 第三周项目2 建立顺序表算法库
- 第三周实践项目2-建立顺序表算法库
- 第三周项目2建立顺序表算法库
- C++中如何建立一个顺序表
- 第八周项目1—建立顺序表
- 数据结构-顺序表建立及运算
- 教学影片:如何建立Silveright图示菜单(Silverlight的鼠标事件功能介绍)
- 手机通过电脑无线网卡上网 建立wifi热点