国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

單鏈表C實例

2019-11-06 06:28:39
字體:
來源:轉載
供稿:網友
#使用C語言實現單鏈表的初始化、打印、插入、刪除、查找與合并。#include <stdio.h>#include <stdlib.h>#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;typedef int ElemType;typedef struct LNode{    ElemType data;    struct LNode *next;}LNode,*LinkList;int Init_LinkList(LNode* L,int length){    LinkList p;    int i;    L->next=NULL;    for(i=0;i<length;i++)    {        p=(LinkList)malloc(sizeof(LNode));        if(!p)            return(OVERFLOW);        PRintf("Please input Lt.data:/n");        scanf("%d",&(p->data));        p->next=L->next;        L->next=p;    }    Print_LinkList(L);    return OK;}Status Print_LinkList(LNode* L){    LinkList p;    p=L->next;    while(p)    {        printf("[%d|%d]->",p->data,p->next);        p=p->next;    }    printf("/n");    return OK;}Status GetElem_L(LNode* L,int i,int* e){    LinkList p;    p=L->next;    int j=1;    while(p && j<i)    {        p=p->next;        j++;    }    if(!p || j>i)        return ERROR;    *e=p->data;    printf("%d/n",*e);    return OK;}Status ListInsert_L(LNode* L,int i,ElemType e){    LinkList p=L;    LinkList s;    int j=0;    while(p && j<(i-1))    {        p=p->next;        j++;    }    if(!p || j>(i-1))        return ERROR;    s=(LinkList)malloc(sizeof(LNode));    s->data=e;    s->next=p->next;    p->next=s;    Print_LinkList(L);    return OK;}Status ListDelet_L(LNode* L,int i,ElemType* e){    LinkList p=L;    LinkList q;    int j=0;    while(p->next && j<(i-1))    {        p=p->next;        j++;    }    if(!(p->next) || j>(i-1))        return ERROR;    q=p->next;    p->next=q->next;    *e=q->data;    free(q);    Print_LinkList(L);    return OK;}void MergeList_L(LinkList La,LinkList Lb,LinkList Lc){    LinkList pa,pb,pc;    pa=La->next;    pb=Lb->next;    Lc=pc=La;    while(pa && pb)    {        if(pa->data<=pb->data)        {            pc->next=pa;            pc=pa;            pa=pa->next;        }        else        {            pc->next=pb;            pc=pb;            pb=pb->next;        }    }    pc->next=pa?pa:pb;    free(Lb);    Print_LinkList(Lc);}int main(){    LinkList L,La,Lb,Lc;    int i,length=5;    int e;    //init    L=(LinkList)malloc(sizeof(LNode));    Init_LinkList(L,length);    //locate    GetElem_L(L,2,&e);    //insert    ListInsert_L(L,3,100);    //delete    ListDelet_L(L,2,&e);    //merge    La=(LinkList)malloc(sizeof(LNode));    Init_LinkList(La,5);    Lb=(LinkList)malloc(sizeof(LNode));    Init_LinkList(Lb,7);    MergeList_L(La,Lb,Lc);    return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 健康| 武平县| 五莲县| 武宣县| 安徽省| 阳高县| 久治县| 黑河市| 师宗县| 金平| 延寿县| 太和县| 和林格尔县| 桐城市| 吉木萨尔县| 南和县| 桑日县| 衡南县| 图们市| 乌拉特中旗| 正安县| 嘉善县| 富平县| 辽宁省| 高青县| 峨眉山市| 阳江市| 贡山| 翁牛特旗| 郯城县| 湘西| 关岭| 中牟县| 荣成市| 威宁| 沛县| 安庆市| 临沭县| 淮安市| 汽车| 乐东|