线性表的顺序存储 c语言表达,线性表的基本操作顺序存储(C语言).doc

线性表的基本操作顺序存储(C语言)

#include#include#include#define LIST_INIT_SIZE/*线性表存储空间初始分配量*/#define LISTINCREMENT/*线性表存储空间分配增量*/#define ok? 1#define OVERFLOW? -1#define false? 0typedef struct {?ElemType *elem;/*存储空间*/?int lenght;/*当前线性表长度*/?int? listsize;/*当前分配的存储容量*/}SqList;

int InitList_Sq(SqList *L){? /*构建空线性表*/? L->elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));/*分配存储空间*/?if(!L->elem)exit(OVERFLOW);/*分配存储空间失败*/?L->lenght=0; /*初始化线性表长度为0*/?L->listsize=LIST_INIT_SIZE;/*初始存储容量*/?return ok;}

int LenghtList_Sq(SqList *L){/*求线性表长度*/? return L->lenght;}int DestroyList_Sq(SqList *L)?

?{?? /*销毁线性表*/?? free(L->elem);/*释放存储空间*/?? L->elem=NULL;/*线性表中元素为0*/?? L->length=0;/*线性表长度为0*/?? L->listsize=0;/*存储空间为空*/?? return ok;

?}

int? ClearList(SqList *L)? {/*清零操作*/?? L->length=0;/*线性表长度为0*/? return ok;

}

int? ListEmpty(SqList *L)? {? /*判空操作*/? if(L.length=0)/*线性表长度为0*/?? return True;?else?return False;}

int ?GetElem(SqList *L,int i,ElemType *e)

{?? /*得到第I 个元素的数据元素的值*/?? if(i<1 || i>L.length)?? return false;?? e=*(L->elem+i-1);/*取第i个元素,并赋值给e*/?? return ok;}

int LocateElem(SqList *L,ElemType e,void (*compare)(ElemType,ElemType))

{? /*查找与E相等的元素的位置*/? ElemType *p;? i=1;? while(i<=L->length && !compare(*p++,e))/*判断i所在位置*/? ++i;if(i<=L->length)return i;elsereturn 0;

}int PriorElem(SqList *L,ElemType cur_e,ElemType pre_e)?

{/*得到给出的数的前一个元素值*/? int i=2;? ElemType *p;? p=L->elem+1;? while(i<=L->length && !(*p++==cur_e))? ++i;? if(i>L->length)? return false;else

? {

?? pre_e=*--p;?? return OK;

? }

}

?int NextElem(SqList L,ElemType pre_e,ElemType cur_e)

{? /* 得到后一个元素的值*/? int i=1;? ElemType *p;?? p=L->elem;? while(ilength && !(*p++==pre_e))? ++i;? if(i>=L->length)? return false;else

? {

??? cur_e=*++p;??? return OK;

? }

}

?int InsertElem(SqList *L,int i,ElemType e)?

{? /*在第I个元素中插入一个值为E的元素*/? int newbase;? SqList *p,*q;?if(i<1 || i>=length+1)/*判断i是否在线性表中*/?return ERROR;?if(L->length>=L->listsiz

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422475.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TiledMap出错

今天加载一个Tiled Map出错&#xff01; 错误提示&#xff1a; TMX: Only 1 tilset per layer is supported错误原因分析&#xff1a;Tilesets里面有多张图片&#xff01;而TMX支持一张图片&#xff01; 解决办法&#xff1a; 将多图片合并成一张图&#xff01;托进Tilesets里面…

步进电机编写单4拍或4-8拍方式的汇编或c语言控制程序.,基于SCM和PLC的两种步进电机控制方法...

引 言步进电机位移与输入脉冲信号数相对应&#xff0c;精度高、响应特性好、可靠性高、速度可在较宽范围内平滑调节&#xff0c;是控制系统中一种重要的自动化执行元件。SCM(Single Chip Microcomputer&#xff0c;单片机)是把组成微型计算机的中央处理器、存储器、输入输出接口…

在网上找到一个CSS hack列表,记录在这里以分析css的浏览器兼容性

另外摘抄一份目前的css浏览器兼容问题汇总&#xff0c;记录在这里自己好好学习一下 CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,…

c语言安卓贪吃蛇代码下载,C语言贪吃蛇代码

c语言编写贪吃蛇源代码&#xff0c;简单易懂&#xff0c;文件为VC源代码。如果你正在学习c语言&#xff0c;就来下载吧。很经典的C语言贪吃蛇代码部分#include #include #include#include#define SX 50#define SY 25#define Length 10#define Xnub 50#define Ynub …

android中常见的回调模式

最近做ListView网络图片的异步加载,以及下载网路MP3动态进度显示。看过一些源码都涉及这样的回调,这样节省了很多不必要的重复操作,非常简便。写了一个Demo,够简单的吧. Demo1.java 1 package com.demo; 2 import com.demo.Demo2.TestInterface; 3 public class Demo1 { …

android多个闹钟实现,Android编程实现PendingIntent控制多个闹钟的方法

本文实例讲述了Android编程实现PendingIntent控制多个闹钟的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;要用 android.app.PendingIntent.getBroadcast(Context context, int requestCode, Intent intent)来实现控制多个闹钟&#xff0c;关键点在于其中的一个…

C#操作XML之——读取XML文件

名称空间&#xff1a;System.Xml 1.使用XmlDocument读取XML[例]//创建xml文档XmlDocument xdoc new XmlDocument();//读取XML文档xdoc.Load("..\books.xml");//输出XML文档Page.Response.Write(HttpUtility.HtmlEncode(xdoc.InnerXml)); 2.使用XmlReader读取XMLXmlR…

毕业设计Android管理系统,基于android的毕业设计管理系统的设计与实现

摘要&#xff1a;职业学校学生的毕业设计(论文)是在顶岗实习期间进行的,使得毕业设计(论文)际上是处于师生时空分离的状态,很难达到满意的效果。因此,充分利用现代的网络技术及智能手机,建立一个信息化、科学化的毕业设计管理系统。实现毕业设计的网上管理,为指导教师和学生提供…

C++学习笔记1:virtual 继承

今天要学习的内容&#xff0c;有时间写个总结http://hi.baidu.com/cindyylxx/item/fdc4e35c8d98aa10da1635a3 转载于:https://www.cnblogs.com/likwo/archive/2012/05/22/2513301.html

android webview 图表,Android WebView 无法正常显示网页图表

1、Android项目中&#xff0c;使用了一个WebView&#xff0c;加载的页面是一个使用百度echart和canvas写的统计图表&#xff0c;现在网页版和IOS版都能正常显示&#xff0c;Android无法正常显示&#xff1a;2、ios和web端&#xff1a;3、android 端&#xff1a;4、Android控制台…

char *a=0

char *a0是指给a所指的位置赋值\0 与char *a\0是一个意思 下面的例子可以说明: char str[] "abcdefg";char *ptr NULL;prt str 2; //指向c*prt 0; //str 为 ab,因为现在str[]ab\0defg\0*prt c; //str 为 abcdefg 转载于:https://www.cnblogs.com/york-hust/arc…

android怎么根据标题解析json,如何在android中解析没有json对象标题的json数组?

首先&#xff0c;我创建了解析器类JSONParser.javapackage com.example.myparse;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import org.apache.ht…

在Windows XP下,安装VS 2010 Express For Windows Phone .

在安装Windows Phone SDK 的系统环境要求中&#xff0c;只支持windows vista、windows 7&#xff0c;不支持winXP&#xff0c;暂时不想升级win7的用户&#xff0c;想要在XP系统开发WP应用程序&#xff0c;就多了一种限制&#xff0c;多次在网上搜索&#xff0c;会发现在XP下也能…

android如何引用布局,android 动态布局与引用第三方layout中的布局

引用第三方layout中的布局LinearLayout rightContentView (LinearLayout) findViewById(R.id.lyt_chat_content);View child LayoutInflater.from(this).inflate(R.layout.qa_text,null);// 由Layout的Id获得对应的ViewrightContentView .removeAllViews(); // 清除View里面…

荣耀v40pro可以用鸿蒙系统,荣耀V40Pro快来了!麒麟9000+120Hz+鸿蒙系统,价格感人...

原标题&#xff1a;荣耀V40Pro快来了&#xff01;麒麟9000120Hz鸿蒙系统&#xff0c;价格感人苹果将于10月14日凌晨1点召开秋季第二场新品发布会&#xff0c;iPhone12系列将正式登场。华为Mate40系列的发布日期将会在国庆假期过后公布&#xff0c;不出意外就是10月15日&#xf…

正则表达式 笔记

寻找教程的朋友请移步这里正则表达式30分钟入门教程。 特点&#xff1a; 学习曲线陡峭。不同的正则表达式可以完成功能&#xff0c;但效率却差很多&#xff08;NFA引擎&#xff09;。要在复杂性和完整性之间求得平衡&#xff0c;一个重要的因素是了解待搜索的文本。引擎&#x…

鸿蒙思维和小央美,中心路汝南路站附近艺术培训

最佳答案&#xff1a;中心路汝南路站附近有鸿蒙教育思维绘画,童心童画美术馆,小画虫少儿美术培训中心,小央美儿童美术,红点美术培训中心,风之舞打击乐培训中心,红英艺术中心,墨涛书法教育,纸飞机少儿美术,精舞门街舞,原音吉他社,丽玲艺术培训,叮当少儿美术空间,弈趣围棋培训中心…

如何避免死锁

什么是死锁&#xff0c;如何避免死锁&#xff1f; 线程A需要资源X&#xff0c;而线程B需要资源Y&#xff0c;而双方都掌握有对方所要的资源&#xff0c;这种情况称为死锁&#xff08;deadlock&#xff09;&#xff0c;或死亡拥抱&#xff08;the deadly embrace&#xff09…

android 数组增加,java-添加视图数组会使android应用崩溃

我在这里有一个android应用程序的某些部分,没有明显的原因而崩溃.RL0恰好是用XML定义的一些LinearLayout,其中已经包含一些其他不相关的内容.老实说,我大部分时间都在使用C,所以我最初可能不太了解为什么在android中某些事情做的明显不同,但是我正在努力.关于如何解决该崩溃的任…

Android 编码规范:(六)消除过期的对象引用

尽管Java不像C/C那样需要手工管理内存资源&#xff0c;而是通过更为方便、更为智能的垃圾回收机制来帮助开发者清理过期的资源。即便如此&#xff0c;内存泄露问题仍然会发生在你的程序中&#xff0c;只是和C/C相比&#xff0c;Java中内存泄露更加隐匿&#xff0c;更加难以发现…