现在的位置: 首页 > 综合 > 正文

一步一步复习数据结构和算法基础-线性表

2013年08月07日 ⁄ 综合 ⁄ 共 803字 ⁄ 字号 评论关闭

线性表是基于数组操作的数据结构,相比于链表线性表的优势是随机访问,但是劣势也是非常的明显,在线性表中执行一次插入删除操作

是难以想象的麻烦,自己仅仅将线性表的创建贴出来.后面复习排序的时候会用到线性表的(插入排序)

#include <stdio.h>
#include <stdlib.h>
#define ListInitSize 100
#define OK 1
#define ERROR 0

typedef struct node
{
	int *data;
	int length;
	int listsize;
}sqlist;

/**/
int InitList(sqlist *list)
{
	(*list).data = (int*)malloc(sizeof(int)*ListInitSize);
	if(!(*list).data)exit(1);
	(*list).length = 0;
	(*list).listsize = ListInitSize;
	return OK;
}

/*创建线性表*/
int CreatList(sqlist *list)
{
	int number;
	int i=0;
	printf("please input number.\n");
	while(scanf("%d",&number) != EOF)
	{
		*((*list).data+i) = number;
		(*list).length++;
		i++;
	}
	return OK;
}

/*打印线性表*/
void PrintList(sqlist *list)
{
	int i=0;
	for(i=0;i<(*list).length;i++)
		printf("%d ",*((*list).data+i));
	printf("\n");
}

/**/
int main()
{
	int sum,number,position;
	sqlist list;
	InitList(&list);
	CreatList(&list);
	PrintList(&list);
	return 0;
}

 

抱歉!评论已关闭.