顺序表的基本方法实现C语言版
顺序表--------------线性表的第一个儿子
这个儿子的结构体定义:
typedef int ElemType;//取别名
typedef struct link{
ElemType * head;//head是一个数组指针,不太清楚的同学,可以百度一下
ElemType length;
ElemType size;
}sqlink;//取别名
顺序表的初始化:
#include<stdio.h>
#include<stdlib.h> #define MAX_SIZE 20 typedef int ElemType; typedef struct link{
ElemType * head;
ElemType length;
ElemType size;
}sqlink; sqlink InitLink();//方法声明
int main(){
sqlink s;
s = InitLink();
for(int i = ; i < ; i++){
s.head[i] = i;
}
printf("%d",s.head[]);
} sqlink InitLink(){//方法实现
sqlink s;
s.head = (ElemType*)malloc(MAX_SIZE*sizeof(ElemType));//在内存中动态创建
if(!s.head)//如果创建不成功,就退出
exit();
s.length = ;
s.size = MAX_SIZE;
return s;
}
顺序表的插入:
#include<stdio.h>
#include<stdlib.h> #define MAX_SIZE 20 typedef int ElemType; typedef struct link{
ElemType * head;
ElemType length;
ElemType size;
}sqlink; sqlink InitLink();//方法声明
sqlink InsertLink(sqlink s ,int i , ElemType e);
int main(){
sqlink s;
s = InitLink();
for(int i = ; i < ; i++){
s.head[i] = i;
}
printf("%d\n",s.head[]);
s = InsertLink(s,,);
printf("%d\n",s.head[]);
printf("%d\n",s.head[]);
} sqlink InitLink(){//方法实现
sqlink s;
s.head = (ElemType*)malloc(MAX_SIZE*sizeof(ElemType));
if(!s.head)
exit();
s.length = ;
s.size = MAX_SIZE;
return s;
}
sqlink InsertLink(sqlink s ,int i , ElemType e){
if(i< && i>MAX_SIZE+)
exit();
if(s.length == MAX_SIZE)
exit();
for(int j = s.length-;j >= i-;j--){
s.head[j+] = s.head[j] ;
}
s.head[i-] = e;
return s; }
剩下的过两天再写,如果有不懂的地方,可以留言!
顺序表的基本方法实现C语言版的更多相关文章
- 五种编程语言解释数据结构与算法——顺序表1(理论与C语言实现)
1.线性表的分类 2.线性表的定义及其基本操作 2.1.定义:线性表是具有相同类型的n(n>=0)个元素的有序序列,其中n为表长,当n=0时,该表为空表. 2.3.线性表的逻辑结构为: 2.4. ...
- 五种编程语言解释数据结构与算法——顺序表3(JavaScript与Python语言实现)
7.JavaScript语言实现 7.1.用ES6语法编写顺序表类 //1.创建类 class MyList { //1. initList(&L):初始化表.构造一个空的线性表.放回值应该是 ...
- 空顺序表的实现(基于c语言)
书中对于创建一个空线性表的定义如下: struct SeqList{ int MAXNUM; // 顺序表中最大元素的个数(也就是最多多少个元素),(其实MAXNUM也可以定义在外面) int n; ...
- 顺序表的静态存储(C语言实现)
顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构. 1.顺序表的结构体声明 #define MAX_SIZE 5 //定义数组的大小 typed ...
- 五种编程语言解释数据结构与算法——顺序表2(java与C++语言实现)
5.java实现方式: 5.1.顺序表的抽象结构 package com.xgp.顺序表; public interface MyList<T> { //1. initList(& ...
- 线性表的链式存储C语言版
#include <stdio.h> #include <malloc.h> #define N 10 typedef struct Node { int data; stru ...
- 【数据结构】之顺序表(Java语言描述)
之前总结过使用C语言描述的顺序表数据结构.在C语言类库中没有为我们提供顺序表的数据结构,因此我们需要自己手写,详细的有关顺序表的数据结构描述和C语言代码请见[我的这篇文章]. 在Java语言的JDK中 ...
- 数据结构4:顺序表(线性表的顺序存储结构)及C语言实现
逻辑结构上呈线性分布的数据元素在实际的物理存储结构中也同样相互之间紧挨着,这种存储结构称为线性表的顺序存储结构. 也就是说,逻辑上具有线性关系的数据按照前后的次序全部存储在一整块连续的内存空间中,之间 ...
- C语言实现顺序表(顺序存储结构)
顺序表(顺序存储结构)及初始化过程详解 顺序表,全名顺序存储结构,是线性表的一种.通过<线性表>一节的学习我们知道,线性表用于存储逻辑关系为"一对一"的数据,顺序表自然 ...
随机推荐
- GreenPlum-数据存储目录迁移及常用操作
一.环境介绍 Greenplum5 3节点集群,Centos7.2虚拟机, 二.需求 因为/home目录磁盘空间已满,需要将Greenplum的数据存储目录转移到新的分区/opt目录下,虚拟机磁盘管理 ...
- vue绑定数据之前 会看到源代码
http://blog.csdn.net/fengjingyu168/article/details/72915468 VUE绑定数据闪现问题 问题描述如下: 1.在HTML中使用Vue为div绑定数 ...
- Java面试题小结(一)
---恢复内容开始--- 1.用Java解析xml有几种方式,实现场景.区别以及优缺点: 有四种 分别是JDOM.SEX.DOM.JDOM4J 实现场景: JDOM:实现功能简单的地方,例如:解析: ...
- Element-UI自定义主题
Element-UI自定义主题 1.介绍:我们可以自定义样式去覆盖element-ui的默认样式 // 在项目目录中新建 element-variables.scss 文件 // 上面为修改的变量 $ ...
- centos 删除文件提示 Operation not permitted
如果文件上存在 i 标记,那肯定是删不掉的,同样这个文件也不能被编辑.可以进入 root 模式,去除这个标记: root@ubuntu:/home/barret/work# chattr -i 1.m ...
- shrio的springboot完整配置
package com.zys.sys.config; import java.util.HashMap; import java.util.Map; import javax.servlet.Fil ...
- 对 eval 命令的理解
eval 格式:eval [argument...] 可以二次迭代参数中的引用变量,然后将参数作为命令,在shell中执行 如果是多个参数,那么变量替换之后必须符合某个命令的格式,否则eval会报错& ...
- 将`VuePress`建立的博客部署到GitHub或Gitee上
将VuePress建立的博客部署到GitHub或Gitee上 在上一篇中,我们详细介绍了如何利用VuePress搭建起个人博客系统,但这只是在本地debug启动的,接下来,我们把它部署到Github网 ...
- 4.String字符串类型操作
String类型操作 1.set key value 设置key对应的值为string类型的value 2.mset key1 value1 … keyN valueN 一次设置多个key的值 3. ...
- Android_存储之scoped storage&媒体文件
Scoped storage 文件存储介绍了内部存储和外部存储相关的内容.因为外部存储容易读写,所以在手机中经常看到很多“乱七八糟”的文件或文件夹,这些就是应用肆意创建的. Android Q(10) ...