zoukankan      html  css  js  c++  java
  • 线性表①


    #include<stdio.h> #define SIZE 100//最大字节 enum BOOL {ERROR,OK}; typedef struct { char data[SIZE]; int last; }sqlist; void initial(sqlist &); //初始化线性表 BOOL insert(sqlist &, int, char); //在线性表中插入元素 BOOL del(sqlist&, int, char &); //在线性表中删除元素 int locate(sqlist, char); //在线性表中定位元素 void show(sqlist); void main() { int loc,flag,k; char ch; sqlist s; while (1) { scanf("%d",&k); switch (k) {case 1: initial(s); show(s); break; case 2: scanf("%d %c", &loc, &ch); insert(s, loc, ch); show(s); break; case 3: scanf("%d", &loc); del(s, loc, ch); show(s); printf("%c", ch); getchar(); break; case 4: scanf("%c", &ch); flag = locate(s, ch); printf("%d", flag); break; } } } BOOL insert(sqlist &s, int loc, char c) { int i; if (loc<1 && loc>s.last + 1) { printf("error"); return ERROR; } else if (s.last > SIZE)//线性表已满 { printf("s.last is out MAX"); return ERROR; } else{ for (i = s.last-1; i>=loc-1; i--) { s.data[i + 1] = s.data[i]; } s.data[loc-1] = c; s.last++; return OK; } } int locate(sqlist s, char ch) { char c; c = ch; int i; for (i = 0; i < s.last; i++) { if (s.data[i] == c)return i + 1; } if (i > s.last)return ERROR; } BOOL del(sqlist &s,int loc ,char &ch) { if (loc > s.last + 1 && loc < 1)return ERROR; ch = s.data[loc - 1]; int i; for (i = loc - 1; i <= s.last - 1; i++)s.data[i] = s.data[i + 1];//向左移动 s.data[i] = ''; s.last--; return OK; } void initial(sqlist &s) { int i; printf("请输入初始化线性表长度 "); scanf("%d",&s.last); printf("输入第1个到第%d个字符 ", s.last); getchar(); for (i = 0; i<s.last; i++) scanf("%c", &s.data[i]); //输入线性表的各元素 } void show(sqlist s) //显示当前线性表所有元素 { int i; for (i = 0; i<s.last; i++) printf("%c ", s.data[i]); printf(" "); }
  • 相关阅读:
    玩转树莓派《二》——用python实现动画与多媒体
    pygame(一)
    玩转树莓派(一)
    pythonchallenge(七)
    springmvc定时器
    maven打包成第三方jar包且把pom依赖包打入进来
    mybatis之动态SQL
    黑马12期day01之html&css
    千万级数据表删除特定字断
    自动跳转
  • 原文地址:https://www.cnblogs.com/qxhn/p/6137447.html
Copyright © 2011-2022 走看看