线性表的顺序存储结构 - 范文中心

线性表的顺序存储结构

02/21

#include

#include

#define LIST_INIT_SIZE 100

#define LISTINCREMENT 10

#define OK 1

typedef int ElemType;

typedef struct{

ElemType *elem;

int length;

int listsize;

}Sqlist;

ElemType InitList_Sq(Sqlist *L)

{

L->elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType)); if(!L->elem) exit(1);

L->length=0;

L->listsize=LIST_INIT_SIZE;

return OK;

}

ElemType CreateList(Sqlist *L)

{

int s;

ElemType *newbase;

printf("please input data end with 0: "); scanf("%d",&s); while(s!=0) { if (L->length>=L->listsize) { newbase=(ElemType

*)realloc(L->elem,(L->listsize+LISTINCREMENT)*sizeof(ElemType)); if(!newbase) exit(1);

}

} } L->elem[L->length]=s; L->length++; scanf("%d",&s); return OK; L->elem=newbase; L->listsize+=LISTINCREMENT;

void Mergelist_sqlist(Sqlist *La, Sqlist *Lb,Sqlist *Lc) {

ElemType *pa,*pb,*pc,*pa_last,*pb_last; pa_last=La->elem+La->length-1; pb_last=Lb->elem+Lb->length-1; pa=pa_last;pb=pb_last; Lc->listsize=Lc->length=La->length+Lb->length; pc=Lc->elem=(ElemType*)malloc(Lc->listsize*sizeof(ElemType)); if(!Lc->elem)exit(1); while(pa>=La->elem&&pb>=Lb->elem) { } if(*pa

while(pa>=La->elem)*pc++=*pa--;

while(pb>=Lb->elem)*pc++=*pb--;

}

void print(Sqlist L)

{

int i;

for(i=0;i

printf("%4d",L.elem[i]);

} printf("\n");

void main()

{

Sqlist La;

Sqlist Lb;

Sqlist Lc;

// clrscr();

InitList_Sq(&La);

InitList_Sq(&Lb);

InitList_Sq(&Lc);

CreateList(&La);

CreateList(&Lb);

printf("the datas of list A:\n");

print(La);

printf("the datas of list B:\n");

print(Lb);

printf("the result for mergelisted:\n");

Mergelist_sqlist(&La,&Lb,&Lc); print(Lc);

getch();

}


相关内容

  • 数据结构导论试题1
    全国2004年10月高等教育自学考试 1.要将现实生活中的数据转化为计算机所能表示的形式,其转化过程依次为( ) A.逻辑结构.存储结构.机外表示 B.存储结构.逻辑结构.机外表示 C.机外表示.逻辑结构.存储结构 D.机外表示.存储结构. ...
  • 线性表顺序存储结构
    线性表顺序存储结构 所用的教材是:<数据结构与算法>第四版 廖明宏 郭福顺 张岩 李秀坤老师编著的 线性结构中线性表分为三种:数组存储结构.链式存储结构以及游标存储结构 这一部分先讲解线性表的数组存储结构: 1.线性表的数组存储 ...
  • 线性表及其应用实验报告
    数据结构实验报告 实验名称:线性表及其应用 班 级:12级电气本2 学 号:2012081227 姓 名:赵雪磊 指导教师:梁海丽 日 期:2013年9月9日 数学与信息技术学院 一. 实验目的 1.掌握线性表的概念,理解线性表的顺序.链式 ...
  • [数据结构]期末考试题及答案
    2011-2012学年第一学期期末考查 <数据结构>试卷 (答案一律写在答题纸上,在本试卷上做答无效) 一.选择(每题1分,共10分) 1. 长度为n 的线性表采用顺序存储结构,一个在其第i 个位置插入新元素的算法时间复杂度为( ...
  • 数据结构实验
    1. 编程实现在顺序存储的有序表中插入一个元素(数据类型为整型). #include #include #include #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 ...
  • 数据结构试卷(附答案)
    计算机专业数据结构试题 一.单选题(每小题2分,共12分) 1.在一个单链表HL 中,若要向表头插入一个由指针p 指向的结点,则执行( ) . A . HL =p : p 一>next=HL B . p 一>next=HL :H ...
  • 东南大学数据结构 93-20**年
    东南大学93考研题 注意事项 : (1) 答卷上需写清题号,不必抄题 (2) 描述可用你熟悉的一种类高级语言,如类Pascal ,所用主要数据结构及变量的意义须加以注释.必要时算法中应加注释 . 一.回答下列问题 : (共 35分) l 与 ...
  • 自动化专业英语翻译
    B 计算机与网络基础 计算机系统的组成 在说明了什么是计算机之后,让我们在来看一下计算机的定义:计算机是一种能接收.存储和处理数据,并能产生输出结果的快速.精确的符号加工系统,这一系统是在存储指令程序控制下工作的.本文说明为什么计算机是一个 ...
  • 栅格数据编码技术的发展历程
    栅格数据编码技术的发展历程 2015.4 南通大学地科院 江浩田 摘要:栅格数据是结构是GIS中最基本的数据结构,本文对栅格数据的属性.小.形状等做出一些系统的描述和分析,其中重点在几种数据结构上做了比较详细的论述和讲解,包括栅格矩阵结构. ...
  • 数据结构试验报告-文学研究助手
    实验报告:文学研究助手 题目:编写一个统计特定单词在文本中出现的次数和位置的程序 一. 需求分析 1. 文本串非空并以文件的形式存放在根目录中,统计匹配的词非空.文件名和需要匹配的词集均有用户从键盘输入: 2. 单词都是由某种类型字符的序列 ...