博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
静态链表的创建
阅读量:4933 次
发布时间:2019-06-11

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

typeDefine.h 头文件

#define MAXSIZE 100

typedef struct {

int data;
int cur;

}component,SLinkList[MAXSIZE];//SLinkList类型为1000长度的数组

//初始化静态链表
void InitSpace_SL(SLinkList S);
//在静态链表中查找元素
int LocateElem_SL(SLinkList S, int e);
//输出静态链表中的所有的元素
void outPutElem_SL(SLinkList S);
//向静态链表中的第i元素插入元素
void InserrElem_SL(SLinkList S,int i);
//在静态链表中插入元素
void DelElem_SL(SLinkList S, int i);

 

realize.c

 

#include "stdio.h"

#include "stdlib.h"
#include "typeDefine.h"

//初始化静态链表

void InitSpace_SL(SLinkList S) {
int i = 0;
for (i ;i < 10; i++)
{
S[i].cur = i + 1;//i等于0时为头结点,
S[i].data = i;
}
S[i].data = i;
S[i].cur = 0;//cur为零时为链表的结尾
}

//在静态线性表中查找第一个值为e的元素

int LocateElem_SL(SLinkList S, int e) {
int i = S[0].cur;
while (i&&e!=S[i].data)
{
i = S[i].cur;

}

return i;
}

//输出所有元素

void outPutElem_SL(SLinkList S) {
int i = S[0].cur;

while (i)

{
printf("元素的值为%d\n",S[i].data);
i = S[i].cur;

}

}

//在第i个位置插入元素
void InserrElem_SL(SLinkList S, int i) {
int j = 0;
int k = 0;
while (j<i-1)
{
k=S[k].cur;
j++;
}
S[k].cur = 11;
S[11].cur = k + 1;
S[11].data = 11;
}

//删除第i个位置的元素

void DelElem_SL(SLinkList S,int i) {

int j = 0;

int k = 0;
while (j<i - 1)
{
k = S[k].cur;
j++;
}
//删除元素并没有释放数组的空间(需要释放空间)
S[k].cur = S[S[k].cur].cur;

}

 

 staticLinkList.c

 

#include "stdio.h"

#include "stdlib.h"
#include "typeDefine.h"

void main() {

SLinkList L;//int L[100]的数组 L为数组的首地址

//初始化静态链表
InitSpace_SL(L);
//在指定位置插入元素
InserrElem_SL(L,2);
//删除指定位置的元素
DelElem_SL(L,2);
//输出链表中所有元素
outPutElem_SL(L);

}

 

转载于:https://www.cnblogs.com/paulversion/p/7569110.html

你可能感兴趣的文章
【阿里云文档】常用文档整理
查看>>
java中的Volatile关键字
查看>>
前端自定义图标
查看>>
实验二
查看>>
独立开发一个云(PaaS)的核心要素, Go, Go, Go!!!
查看>>
网站文章如何能自动判定是抄袭?一种算法和实践架构剖析
查看>>
【OpenCV学习】滚动条
查看>>
ofo用科技引领行业进入4.0时代 用户粘性连续8个月远甩摩拜
查看>>
兰州青年志愿者“中西合璧”玩快闪 温暖旅客回家路
查看>>
计划10年建10万廉价屋 新西兰政府:比想象中难
查看>>
甘肃发首版《3D打印职业教育教材》:校企合作育专才
查看>>
为找好心人抚养孩子 浙江一离婚父亲将幼童丢弃公园
查看>>
晚婚晚育 近20年巴西35岁以上孕妇增加65%
查看>>
读书:为了那个美妙的咔哒声
查看>>
jsp改造之sitemesh注意事项
查看>>
iOS 9.0之后NSString encode方法替换
查看>>
ASMFD (ASM Filter Driver) Support on OS Platforms (Certification Matrix). (文档 ID 2034681.1)
查看>>
CRM Transaction处理中的权限控制
查看>>
[转]linux创建链接文件的两种方法
查看>>
python ipaddress模块使用
查看>>