zoukankan      html  css  js  c++  java
  • 单链表的基本操作

    ///用26个字母来实现简单的单链表的基本操作
    #include<stdio.h> #include<stdlib.h> #define ok 1 #define error 0 #define MAXSIZE 100 typedef int ElemType; typedef int Status; typedef struct node { ElemType data; struct node *next; } node, *LinkList; void CreatList(LinkList &L)///建立一个单链表 { LinkList r, p; r=L; ///插到表尾 for(int i=0; i<26; i++) { p=(node *)malloc(sizeof(node)); p->data='A'+i; r->next=p; r=p; } r->next=NULL; } /* for(int i=25; i>=0; i--) { p=(node *)malloc(sizeof(node)); p->data='A'+i; p->next=r->next; r->next=p; } */ Status ListFind(LinkList &L, int i, char *e)///单链表的查找 { LinkList p; p=L->next; int j=1; if(p->next==NULL || j>i)return error; while(p->next && j<i) { p=p->next; j++; } *e=p->data; return ok; } Status ListInsert(LinkList &L, int i, char e)///单链表的插入 { LinkList p, s; p=L; int j=1; if(!p || j>i)return error; while(p && j<i) { p=p->next; j++; } s=(LinkList)malloc(sizeof(node)); s->data=e; s->next=p->next; p->next=s; return ok; } Status ListDelete(LinkList &L, int i, char *e)///单链表的删除 { LinkList p, s; p=L; int j=1; if(!p || j>i)return error; while(p && j<i) { p=p->next; j++; } s=p->next; *e=s->data; free(s); return ok; } void traverList(LinkList L)///输出单链表 { LinkList p; p=L->next; while(p) { printf("%c ", p->data); p=p->next; } } int main() { int find_index, insert_index, delete_index; char find_char, insert_char[2], delete_char; LinkList L; L=(LinkList)malloc(sizeof(node)); L->next=NULL; CreatList(L);///创建一个单链表 traverList(L);///输出此链表 scanf("%d", &find_index); if(ListFind(L, find_index, &find_char)) printf("输出查找元素: %c ", find_char); else printf("查找失败 "); scanf("%d%s", &insert_index, insert_char); if(ListInsert(L, insert_index, insert_char[0])) traverList(L);///输出改变后的单链表 else printf("插入失败 "); scanf("%d", &delete_index); if(ListDelete(L, delete_index, &delete_char)) printf("输出被删除元素: %c ", delete_char); else printf("删除失败 "); return 0; }
  • 相关阅读:
    SQL列类型
    垂直显示查询结果
    在mysql中如何写注释语句
    离开Autodesk,开启新篇章
    Autodesk 为其云技术发布新品牌- Autodesk Forge
    Using View and Data API with Meteor
    View and Data API Tips: Constrain Viewer Within a div Container
    View and Data API Tips: Hide elements in viewer completely
    View and Data API Tips : Conversion between DbId and node
    使用AxisHelper帮助理解View and Data API中的坐标系统
  • 原文地址:https://www.cnblogs.com/w-y-1/p/5930768.html
Copyright © 2011-2022 走看看