这里用的是严蔚敏版《数据结构 (C语言版)》和《数据结构题集》,深感自己的代码写得又渣又无力,打算把这本书好好琢磨透彻,里面的算法和模板都实现一遍,题目也都做一遍。最终能够做到举一反三、熟之又熟地运用数据结构来解决实际问题。
题集 2.10 2.11

 1 #include <iostream>
 2 #include <stdlib.h>
 3 #include <stdio.h>
 4 #define LIST_INIT_SIZE 100
 5 #define LISTINCREMENT 10
 6 using namespace std;
 7 //1 从顺序表A中删除第I个元素后面的K个元素
 8 typedef int Elemtype;
 9 typedef struct {
10 Elemtype *elem;
11 int length;
12 int listsize;
13 } Sqlist;
14
15 int InitList_Sq(Sqlist &l){
16  l.elem=(Elemtype *)malloc(sizeof(Elemtype)*LIST_INIT_SIZE);//calloc(list_initsize,sizeof(elemtype))??
17  //calloc and malloc 's diffence;
18  if (!l.elem) return 0;
19  l.length=0;
20  l.listsize=LIST_INIT_SIZE;
21  return 1;
22 }
23 int readSqlist(Sqlist &l){
24 int x;
25 scanf ("%d",&x);
26 int i=0;
27 while(x!=-999&&i<LIST_INIT_SIZE){
28 l.elem[i]=x;
29 i++;
30 scanf ("%d",&x);
31 l.length++;
32 }
33 return 1;
34 }
35 int displaySqlist(Sqlist &l){
36 int i=0;
37 while (i<l.length){
38 printf("%d ",l.elem[i]);
39 i++;
40 }
41 printf("\n");
42 return 1;
43 }
44
45 int DeleteList_Sq(Sqlist &a,int i,int k){
46 if (i<0||i>a.length||k<0||k>a.length-i)
47 return 0;
48 else {
49 if (a.length-i-k>=k){
50 for (int j=0;j<k;j++){
51 a.elem[j+i]=a.elem[k+i+j];
52 }a.length=a.length-k;
53 }else {
54 for (int j=0;j<a.length-i-k;j++){
55 a.elem[j+i]=a.elem[k+i+j];
56 }a.length=a.length-k;
57 }
58 return 1;
59 }
60 }
61 int InsertOrderedList_Sq(Sqlist &va,int x){
62 int i=0;
63 while (va.elem[i]<x&&i<va.length){
64 i++;
65 }
66 if (i==va.length){
67 va.elem[va.length]=x;
68 va.length++;
69 }
70 if (va.elem[i]>=x){
71 for (int j=va.length;j>i;j--){
72 va.elem[j]=va.elem[j-1];
73 }
74 va.elem[i]=x;
75 va.length++;
76 //一种更简便的方法
77 //if (va.length==va.listsize)
78 //return 0;//overflow
79 //for (int j=va.length;j>0,x<va.elem[j-1];j--)
80 //va.elem[j]=va.elem[j-1];
81 //va.elem[j]=x;
82 //va.length++;
83 //}
84 return 1;
85 }
86
87 int main()
88 {
89    Sqlist l;
90    InitList_Sq(l);
91    readSqlist(l);
92    displaySqlist(l);
93    DeleteList_Sq(l,2,5);
94    displaySqlist(l);
95
96     return 0;
97 }

转载于:https://www.cnblogs.com/twomeng/p/9476514.html

严蔚敏版《数据结构 (C语言版)》和《数据结构题集》(一)相关推荐

  1. c语言实现bf算法的定位函数,数据结构c语言版严蔚敏清华大学出版社第四章串.ppt...

    数据结构c语言版严蔚敏清华大学出版社第四章串 模式匹配(定位) 设有主串S和子串T(将S称为目标串,将T称为模式串),在主串S中,从位置start开始查找,如若在主串S中找到一个与子串T相等的子串,则 ...

  2. 数据结构c语言版第四章题库,严蔚敏《数据结构(c语言版)习题集》答案第四章 串...

    严蔚敏<数据结构(c语言版)习题集>答案第四章 串 第四章 串 4.10 void String_Reverse(Stringtype s,Stringtype &r)//求s的逆 ...

  3. 数据结构(C语言版)严蔚敏(字符串的模式匹配算法--KMP算法)

    数据结构(C语言版)严蔚敏(字符串的模式匹配算法–KMP算法) 1.暴力匹配算法 // 暴力匹配算法 int Index2(SString S,SString T) {// S是主串,T是子串int ...

  4. 数据结构(C语言版)严蔚敏(树、二叉树的相关概念笔记)

    数据结构(C语言版)严蔚敏(树的相关概念笔记) 1. 树中一个节点的孩子个数称为该节点的度,树中节点的最大度数称为树的度: 2. 度大于0的节点称为[分支节点](非终端节点),度为0的节点称为[叶子节 ...

  5. 严蔚敏数据结构C语言版——线性表的链式存储方式详细代码

    一.严蔚敏数据结构C语言版 由于书上的许多地方都是伪代码,所以下面的代码对课本上的做了一些改动,使代码能够正常运行 链表的定义即相关类型定义 typedef int ElementType; type ...

  6. 数据结构c语言程序题,严蔚敏《数据结构(c语言版)习题集》(包括基础部分).doc...

    严蔚敏<数据结构(c语言版)习题集>(包括基础部分).doc 线性表第1章绪论11简述下列术语数据,数据元素.数据对象.数据结构.存储结构.数据类型和抽象数据类型.解数据是对客观事物的符号 ...

  7. 数据结构(C语言版)严蔚敏---图的操作的相关代码

    1. 将邻接表转换成邻接矩阵 main.cpp void Convert(ALGraph G,MGraph &M){M.vexnum = G.vexnum;M.arcnum = G.arcnu ...

  8. c语言第二版课后答案pdf,数据结构(C语言版)第2版习题答案—严蔚敏.pdf

    数据结构( C语言版) (第2版) 课后习题答案 李冬梅 2015.3 目 录 第 1 章 绪论 1 第 2 章 线性表 5 第 3 章 栈和队列 14 第 4 章 串.数组和广义表 27 第 5 章 ...

  9. 数据结构c语言版第16页,数据结构c语言版

    数据结构c语言版[编辑] 概述 <数据结构C语言版>本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及综合分析比较 出版信息 ...

  10. 数据结构c语言版胡学刚答案,哈夫曼树的建立与实现(最终版)最新版

    <哈夫曼树的建立与实现.doc>由会员分享,可免费在线阅读全文,更多与<哈夫曼树的建立与实现(最终版)>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索 ...

最新文章

  1. 不改文件名的情况下上传突破
  2. gcc选项 和 gdb 使用
  3. 信息学奥赛一本通 1848:【07NOIP提高组】字符串的展开 | OpenJudge NOI 1.7 35:字符串的展开 | 洛谷 P1098 [NOIP2007 提高组] 字符串的展开
  4. html/css小练习2
  5. spring:使用会话和请求作用域
  6. 电脑用户名_学会这一招,再也不用担心电脑的运行速度慢了
  7. 最全的TCP面试知识点
  8. django允许跨域请求配置
  9. 如何封装带有不变参数的函数
  10. 【游戏周边】Unity,UDK,Unreal Engine4或者CryENGINE——我应该选择哪一个游戏引擎...
  11. 计算机二级c语言f7保存,国家计算机二级c语言上机真题
  12. GitHub使用教程详解(上)——官网操作指南[翻译]
  13. 版本控制gitlab
  14. 联想电脑预装office自动卸载工具
  15. 架构师之路(二)-概念架构
  16. 大数据揭秘| 《少年的你》大火之后,流量明星对电影意味着什么?
  17. Elasticsearch:Apache spark 大数据集成
  18. na5tr1 测距芯片调试小结
  19. 最优理论与技术--多目标规划问题
  20. 《计算机科学与探索,《计算机科学与探索》唯一官方网站

热门文章

  1. 在CMD窗口中使用javac和java命令进行编译和执行带有包名的具有继承关系的类
  2. HDOJ1016 素数环(DFS)
  3. catia高级技巧54条1.0
  4. O太多,具体都代表什么呢?
  5. 【Python-ML】SKlearn库特征抽取-KPCA
  6. 【正一专栏】内马尔要走快走、走好不送!
  7. Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布
  8. 六个月学php,修学六个月心得体会
  9. javaweb火车车次信息管理+文件_厦门火车站启动“双十一”电商黄金周运输 投入列车数量为历年新高...
  10. Python知识点笔记-列表list、元组tuple和dict类型