数据结构1-静态顺序表的实例与分析
2014-09-18 16:29
260 查看
实例说明:创建一个静态的顺序表存放整数,并可以完成插入和删除操作,代码如下:
测试的结果如下:
实例的说明:
1.函数中的*len不能替换成len,由于替换成len之后就变成局部变量,main函数运行时无法传递真正的len值,只有传地址的时候才可以把插入和删除操作的真正len值传递过来。
2.system("psuse");return(0);的作用:由于从Visual Studio 2010开始,控制台程序的结尾处取消了console,导致一运行控制台结束就关闭控制台(我们看到的结果就是一闪而逝),在网上找了好多方法,发现就这种方式好用,所以特意在这里说明!(注:用Visual Studio 2010以下版本就不需要加这两条语句)
#include"stdio.h" #define MaxSize 10 /*静态顺序表的各种操作*/ /** 向顺序表中插入元素 */ /** 参数Sqlist:表首地址 */ /** 参数*len:表的长度 */ /** 参数i:插入元素的位置 */ /** 参数x:待插入的元素值 */ void insertElem(int Sqlist[],int *len,int i,int x) { int t; if(*len==MaxSize || i<1 || i>*len+1) { printf("This insert is illegal\n"); return; } for(t=*len-1;t>=i-1;t--) Sqlist[t+1]=Sqlist[t]; Sqlist[i-1]=x; *len=*len+1; } /** 向顺序表中删除元素 */ /** 参数Sqlist:表首地址 */ /** 参数*len:表的长度 */ /** 参数i:插入元素的位置 */ void DelElem(int Sqlist[],int *len,int i) { int j; if(i<1 || i>len){ printf("This insert is illegal"); return; } for(j=i;j<=*len-1;j++){ Sqlist[j-1]=Sqlist[j]; } *len=*len-1; } main(){ int Sqlist[MaxSize]; int len; int i; for(i=0;i<6;i++){ scanf("%d",&Sqlist[i]); } len=6; for(i=0;i<len;i++){ printf("%d",Sqlist[i]); } printf("\nThe spare length is %d\n",MaxSize-len); insertElem(Sqlist,&len,3,0); for(i=0;i<len;i++) printf("%d",Sqlist[i]); printf("\nThe spare length is %d\n",MaxSize-len); insertElem(Sqlist,&len,11,0); DelElem(Sqlist,&len,6); for(i=0;i<len;i++) printf("%d",Sqlist[i]); printf("\nThe spare length is %d\n",MaxSize-len); system("pause"); return(0); }
测试的结果如下:
实例的说明:
1.函数中的*len不能替换成len,由于替换成len之后就变成局部变量,main函数运行时无法传递真正的len值,只有传地址的时候才可以把插入和删除操作的真正len值传递过来。
2.system("psuse");return(0);的作用:由于从Visual Studio 2010开始,控制台程序的结尾处取消了console,导致一运行控制台结束就关闭控制台(我们看到的结果就是一闪而逝),在网上找了好多方法,发现就这种方式好用,所以特意在这里说明!(注:用Visual Studio 2010以下版本就不需要加这两条语句)
相关文章推荐
- C#数据结构之顺序表(SeqList)实例详解
- 2、数据结构进阶二静态查询之顺序查询
- 记(java数据结构与算法之顺序表与链表深入分析)
- 【数据结构】——-线性表分析(顺序表与链表的对比)
- 数据结构笔记(一)线性表的顺序表示和基本操作及其顺序表实现的集合运算(A-B)U(B-A)实例
- 数据结构8-顺序查找的实例
- Java数据结构之顺序表与链表分析和实现
- 数据结构中静态顺序表的实现和增删查改。。。
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证
- 数据结构中静态顺序表的初始化、尾插、尾删、头插、头删、任意位置的插入及删除
- 4. 数据结构进阶四静态查询之索引顺序查询
- C语言:静态顺序表的增删查该,数据结构
- 数据结构之顺序表的静态表示和动态表示
- (转)FLV格式解读之数据tags结构及实例分析
- 基于数据字典的通用查询系统(二)数据库组成结构的分析
- 静态结构分析
- 通用数据采集与统计分析管理系统,随数据库结构的调整而自动调整
- linux协议栈之链路层上的数据传输-----sk_buff结构分析
- 数据结构基础--排序: 各种排序算法全分析
- C语言 数组的顺序表示与实现 数据结构