数据结构与算法——线性表(一)
2016-09-11 00:03
295 查看
#include <stdio.h> #include <stdlib.h> #define LIST_INIT_SIZE 200 #define LISTINCREASE 10 #define ERROR 0 #define OK 1 typedef int Elemtype; typedef int Status; typedef struct { Elemtype *elem;//存储的基址 int length; int listsize;//当前分配的存储容量 }SqList; /************************************************************************/ /*创建一个空的线性表 */ /************************************************************************/ Status InitList(SqList &L){ L.elem=(Elemtype *)malloc(LIST_INIT_SIZE*sizeof(Elemtype)); if(!L.elem) return ERROR; L.length=0; L.listsize=LIST_INIT_SIZE; return OK; } /************************************************************************/ /* 打印list */ /************************************************************************/ void PrintList(SqList L){ printf("当前值:"); for (int i =0; i<L.length;i++) { printf("%d ", L.elem[i]); // L.elem为首地址 } printf("\r\n"); } /************************************************************************/ /* 获取第i个位置的元素,返回给e */ /************************************************************************/ Status GetElem(SqList L,int i,Elemtype &e){ if(L.length==0||i<1||i>L.length) { return ERROR; } e=L.elem[i-1]; return OK; } /************************************************************************/ /* 在第i个位置插入e */ /************************************************************************/ Status InsertList(SqList &L,int i,Elemtype e) { if(i<1||i>L.length+1) return ERROR; Elemtype *p,*q; q=&(L.elem[i-1]); for(p=&(L.elem[L.length-1]);p>=q;--p) { *(p+1)=*p; } *q=e; ++L.length; return OK; } int main(){ SqList L; InitList(L); int i=1; int data[6] = {2,3,4,5,6,8}; for (i=1; i<6;i++) InsertList(L,i,data[i-1]); PrintList(L); return 0; }
相关文章推荐
- 数据结构之算法2.6-在顺序线性表L中查找第1个值与e满足compare()的元素的位序
- [数据结构与算法] 3,线性表
- 再回首,数据结构——线性表、链表上的常见算法
- 数据结构和算法 (二)数据结构基础、线性表、栈和队列、数组和字符串
- 数据结构与算法--线性表
- 数据结构与算法——线性表链式存储(单循环链表)
- 数据结构与算法---线性表
- 【数据结构与算法】线性表备忘
- 数据结构——线性表中的算法
- 数据结构与算法学习笔记02_2(线性表)
- 数据结构与算法——线性表链式存储(单链表)
- (4) 数据结构与算法 ---- 线性表 及Java实现 顺序表、链表、栈、队列
- Uva 算法入门经典(数据结构基础)线性表题目
- 【数据结构与算法003】基本数据结构——线性表(链表)
- 数据结构.算法 近期计划
- 数据结构及算法-何谓数据结构
- Pku acm 1469 COURSES 数据结构题目解题报告(十一)---- 匈牙利算法求二分图的最大匹配
- Pku acm 1125 Stockbroker Grapevine 数据结构题目解题报告(八)---- 弗洛伊德(floyd)算法
- 数据结构中关键路径算法的实现与应用
- Pku acm 2536 Gopher II 数据结构题目解题报告(十四)---- 匈牙利算法求二分图的最大匹配