栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

单链表的基本操作(C语言)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

单链表的基本操作(C语言)

头插法:#include
linklist CreateFromHead(){
    linklist L;
    LNode*s;
    char c;
    int flag=1;
    L=(linklist)malloc(sizeof(LNode));
    //带头节点的单链表 
    L->next=NULL;
    while(flag){
    c=getcahr();
    if(c!="!"){
        s=(linklist)malloc(szieof(LNode));
        s->data=c;
        s->next=L->next;
        L->next=s;
    }    
    else{
        flag=0;
    }        
    return L;
}

=========================================================================

尾插法:

#include
linklist CreateFromTail(){
    linklist l;
    LNode*s;
    char c;
    int flag=1;
    L=(linklist)malloc(szieof(LNode));
    L->next=NULL;
    r=L;
    while(flag){
        c=getchar();
        if(c!="!"){
            s=(linklist)malloc(sizeof(LNode));
            s-data=c;
            r->next=s;
            r=s;
        }
        else{
            flag=0;
            r->next=NULL;
        }
    }
        return L;

}

=========================================================================

求链表长度:

#include
int ListLength(linkList L){
    linkList P;
    P=L;
    j=0;
    while(p->next!=NULL){
        p=p->next;
        j++;
    }
    return j;
}
===============================================

插入元素:

int InsList(linkList L,int i,char e){
    linkList pre,s;
    int k;
    pre=L;    k=0;
    //pre指向第i-1个元素的位置 
    while(pre!=NULL&&k         pre=pre->next;
        k++;
    }
    if(k!=i-1){
        printf("插入位置错误");
        return ERROR;
    }
    s=(linkList)malloc(sizeof(LNode));
    s->data=e;
    s->next=pre->next;
    pre->next=s;
    return 1; 
}
===============================================

删除元素:

#include
int DelList(linkList L,int i,char*e){
    linkList pre,r;
    int k;
    pre=L;
    k=0;
    while(pre->next!=NULL&&k         pre=pre->next;
        k++;
    }
    if(k!=i-1){    //此处表示为i<1 
        printf("删除的位置错误!");
        return ERROR;
    }
    r=pre->next;
    pre->next=pre->next->next;
    *e=r->data;
    free(r);
    return 1;
}
===============================================

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/629556.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号