顺序表的操作_核心语句

上传人:子 文档编号:41957144 上传时间:2018-05-31 格式:DOC 页数:6 大小:30KB
返回 下载 相关 举报
顺序表的操作_核心语句_第1页
第1页 / 共6页
顺序表的操作_核心语句_第2页
第2页 / 共6页
顺序表的操作_核心语句_第3页
第3页 / 共6页
顺序表的操作_核心语句_第4页
第4页 / 共6页
顺序表的操作_核心语句_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《顺序表的操作_核心语句》由会员分享,可在线阅读,更多相关《顺序表的操作_核心语句(6页珍藏版)》请在金锄头文库上搜索。

1、顺序表的操作顺序表的操作_ _核心语句核心语句/* 线性表-顺序表的操作: 核心语句 */#include “stdio.h“#include “stdlib.h“#define N 100typedef int ElemType;/* 顺序表的存储结构 */typedef struct ElemType *elem;int length; SqList;/* 顺序表的基本操作 */* 1.初始化顺序表 */void InitList(SqList *L) L-elem=(ElemType*)malloc(N*sizeof(ElemType);L-length=0; /* 2.销毁顺序表 */

2、void DestroyList(SqList *L) free(L-elem); /* 3.清空顺序表 */void ClearList(SqList *L) L-length=0; /* 4.是否为空表 */int ListEmpty(SqList L) if (L.length=0)return 1;elsereturn 0; /* 5.顺序表长度 */int ListLength(SqList L) return L.length; /* 6.取顺序表第 p 个元素 */void GetElem(SqList L, int p, ElemType *e) *e=L.elemp-1; /

3、* 7.在顺序表中查找元素 */int LocateElem(SqList L,ElemType e) int i,p=0;for(i=0; ilength-1; i=p-1; i-)L-elemi+1=L-elemi;L-elemp-1=e;L-length+; /* 11.删除顺序表中第 p 个位置的元素 */void ListDelete(SqList *L, int p, ElemType *e) int i;*e=L-elemp-1;for(i=p; ilength; i+)L-elemi-1=L-elemi;L-length-; /* 12(1).遍历顺序表并输出(数组下标法) *

4、/void ListTraverse(SqList L) int i;printf(“nList:t“);for(i=0; ielemi=ai;L-length=n; /* A(2).由键盘输入顺序表元素 */void InputElem2(SqList *L) int i,n;printf(“n 请输入元素个数:“);scanf(“%d“, printf(“n 请输入%d 个元素:n“,n);for(i=0; ielemi);L-length=n; /* B(1).删除指定值的所有元素 */void Deletex(SqList *L, ElemType x) int i,j;for(i=j

5、=0; ilength; i+)if (L-elemi!=x) L-elemj=L-elemi; j+; L-length=j; /* B(2).删除重复元素 */void DeleteRepElem(SqList *L) int i,j; ElemType x;for(i=0; ilength; i+)for(j=i+1; jlength; )if (L-elemj=L-elemi)ListDelete(L,j+1,elsej+;/* C(1). 算法 2.1 顺序表的合并 */void Union1(SqList *La, SqList Lb) int i,alen,blen; ElemT

6、ype e;alen=ListLength(*La); blen=ListLength(Lb);for(i=1; i=blen; i+) GetElem(Lb,i,if (!LocateElem(*La,e) ListInsert(La,+alen,e); /* C(2). 算法 2.2 有序顺序表允许重复元素的有序合并 */void Union2(SqList La, SqList Lb, SqList *Lc) int i,j,k,alen,blen; ElemType ai,bj;InitList(Lc);i=j=k=1;alen=ListLength(La); blen=ListLen

7、gth(Lb);while(i=alen GetElem(Lb,j,if (ai=bj) ListInsert(Lc,k,ai); i+; k+; else ListInsert(Lc,k,bj); j+; k+; while(i=alen) GetElem(La,i, ListInsert(Lc,k,ai); i+; k+; while(j=blen) GetElem(Lb,j, ListInsert(Lc,k,bj); j+; k+; /* 主函数 */main() SqList La,Lb,Lc; ElemType a=1,3,5,7,9,b=2,5,6,8,9,16,x;InitList( InitList(InputElem( ListTraverse(La);InputElem( ListTraverse(Lb);Union2(La,Lb,ListTraverse(Lc);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号