• 单链表的创建—数据结构算法


    代码功能截图:

    源代码:

    #include<stdio.h> // EOF(=^Z或F6),NULL
    #include<stdlib.h> // srand( ) ,rand( ),exit(n)
    #include<iostream>
    using namespace std;
    #define TRUE 1
    #define FALSE 0
    #define OK 1
    #define ERROR 0
    #define INFEASIBLE -1
    #define OVERFLOW -2 
    #define MAXSIZE 100 //最大长度
    typedef int Status; 
    typedef int ElemType;
    typedef struct LNode{
    ElemType data;
    struct LNode *next;	
    }LNode,*LinkList;
    
    
    Status InitList(LinkList &L){
    L = new LNode;
    L ->next = NULL;
    return OK;
    }
    
    void CreateList_h(LinkList &L,int n)
    {
    
    L =new LNode;
    L ->next = NULL;
    for(int i=0;i<n;++i)
    {
    LNode *p; 
    p=new LNode;
    //	printf("输入第%d个数据:",n);
    //	scanf("%d",&p->data);
    cin>>p->data;
    p->next = L->next;L->next=p; //这是前插法 
    
    }
    }
    Status GetElem(LinkList L,int i,ElemType &e){
    LNode *p; 
    p = L->next;int j= 1;
    while(p&&j<1)
    {
    p = p->next;
    ++j;
    } 
    if (!p|| j>1) return ERROR;
    e = p->data;
    return OK;
    
    }
    
    
    LNode *LocateElem(LinkList L,ElemType e)
    {
    LNode *p;
    int i = 0;
    p = L->next;
    
    while (p && p->data != e)
    p=p->next;
    i = i+1; 
    return p;
    }
    
    Status LinkInsert(LinkList &L,int i,ElemType e)
    {
    LNode *p;
    p = L;int j = 0;
    while(p&&(j<i-1))
    {
    p = p->next;
    ++j;
    }
    if (!p || j>i -1) return ERROR;
    LNode *s;
    s = new LNode;
    s->data = e;
    s->next=p->next;
    p->next =s;
    return OK;
    }
    
    Status LinkDelete(LinkList &L,int i)
    {
    LNode *p;
    p = L;int j = 0;
    while((p->next) &&(j < i-1))
    {
    p = p->next;++j;
    }
    if (!(p->next) || (j>i-1)) return ERROR;
    LNode *q;
    q = p->next;
    p->next = q ->next;
    delete q;
    return OK;
    }
    void Find(LinkList L){
    LNode *p = L->next;
    int i=0;
    while(p){
    i++;
    printf("第%d个节点数据域为%d
    ",i,p->data);
    p = p->next;
    } 
    }
    

      

    注意这里没有写main()函数。获取源码请关注“值南针”微信公众号:手机登录复制粘贴或微信电脑端(要最新版微信pc端),最先版微信正在公测。

    选择号直接下载保存下来。

  • 相关阅读:
    store的应用
    创建简单的SimpleStore
    设置间隔一周的算法
    C#里缓存的使用
    javaFileWrite,FileReader
    javaArrayList
    java函数方法
    java学生管理系统(简易版)
    Tensorflow框架
    java日期
  • 原文地址:https://www.cnblogs.com/honeynan/p/12215212.html
Copyright © 2020-2023  润新知