• 静态链表的创建


    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 ",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);


    }

  • 相关阅读:
    linux下模拟CISCO设备输出NetFlow数据 规格严格
    国际:十个习惯让你精通新的开发技术
    国人眼中的Scrum
    NetBeans 时事通讯(刊号 # 2 Apr 08, 2008)
    Ruby语言的发展趋势和启示
    离开几天
    Ruby语言的发展趋势和启示
    だ い が く せ い か つ
    NetBeans 时事通讯(刊号 # 2 Apr 08, 2008)
    离开几天
  • 原文地址:https://www.cnblogs.com/paulversion/p/7569110.html
Copyright © 2020-2023  润新知