博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线性表操作
阅读量:5051 次
发布时间:2019-06-12

本文共 2108 字,大约阅读时间需要 7 分钟。

#include 
#define MAXSIZE 100 //线性表可能达到的最大长度typedef struct { int last;//线性表最后一个元素在数组中的位置 int elem[MAXSIZE];}SeqList;void InitList(SeqList *list);int FindList(const SeqList *list, int e);int GetValue(const SeqList *list, int n);int Insert(SeqList *list, int n, int e);int DelList(SeqList *list, int n);int main(int argc, char* argv[]){ int position; SeqList *list; list = (SeqList *)malloc(sizeof(SeqList *)); InitList(list); Insert(list, 1,5); Insert(list, 2,4); Insert(list, 3,7); Insert(list, 4,4); position = FindList(list,5); if (position != -1) { printf("找到元素5在线性表中的位置:%d\n",position); }else printf("没有找到!\n"); printf("%d\n", GetValue(list,1)); for(int i = 0;i
last; i++) printf("%d ",list->elem[i]); printf("\n"); DelList(list,1); for(int j = 0;j
last; j++) printf("%d ",list->elem[j]); printf("\n"); return 0;}void InitList(SeqList *list){ list->last = 0;//初始化一个线性表,0表示为空}/*查找 *在线性表中查找与e相等的元素,返回其在数组中的位置,若找不到返回-1 */int FindList(const SeqList *list, int e){ int i = 0; for (; i <= list->last; i++) { if(list->elem[i] == e) return i+1; } return -1;}/*返回线性表中第n个元素*/int GetValue(const SeqList *list, int n){ if( (n<0) || (n > list->last+1)) return -1; return list->elem[n-1];}/**插入:在线性表指定位置n,插入元素e*/int Insert(SeqList *list, int n, int e){ int k ; if ((n<1)|| (n > list->last+2)) { printf("插入位置不合法!\n"); return -1; } if(list->last == MAXSIZE - 1) { printf("线性表已满,无法插入!\n"); return -1; } for (k = list->last; k >= n - 1 ; k--) list->elem[k+1] = list->elem[k]; list->elem[n-1] = e; list->last++; return 1;}/**删除在线性表指定位置的元素*/int DelList(SeqList *list, int n){ int k ; if ((n<1)|| (n > list->last+1)) { printf("删除位置不合法!\n"); return -1; } for (k = n; k < list->last+1; k++) list->elem[k-1] = list->elem[k]; list->last--; return 1;}

 

转载于:https://www.cnblogs.com/Rookie-h/archive/2012/09/20/2696138.html

你可能感兴趣的文章
iptables
查看>>
mysql常用函数
查看>>
xml=>数组
查看>>
Python全栈开发
查看>>
HDU 5171 GTY's birthday gift 矩阵快速幂
查看>>
原生JS获取url汇总
查看>>
设置session生存时间问题
查看>>
CentOS 添加新的硬盘之后不停机操作
查看>>
3.1 一个简单的Java应用程序
查看>>
函数笔记
查看>>
正则表达式补充
查看>>
Vue中全局和按需引入Echarts
查看>>
框架目录
查看>>
MSSql技巧之快速得到表的记录总数
查看>>
RDIFramework.NET — 基于.NET的快速信息化系统开发框架 - 5.3 数据库连接管理模块...
查看>>
Webservice测试从头来
查看>>
no such table
查看>>
解决 An invalid domain was specified for this cookie
查看>>
JSON新特性
查看>>
微信支付choosewxpay:fail
查看>>