专栏首页g歌德a线性表的基本操作

线性表的基本操作

实现线性表的增加删除定位等功能。(编译执行环境vc6.0,因为目标院校上机考是用这个版本的)

 1 #include<stdio.h>
 2 #include<malloc.h>
 3 #define Maxsize 100
 4 
 5 typedef struct{
 6     int array[Maxsize];
 7     int length;
 8 }SQlist;
 9 
10 int findElem(SQlist L,int x)
11 {
12     int i=0;
13     for(i; i<L.length;++i)
14     {
15         if(x<L.array[i])
16         {
17             return i;
18         }
19     }
20     
21     return i;
22 }
23 
24 void insertElem(SQlist &L,int x)
25 {
26     int p,i;
27 
28     p=findElem(L,x);
29 
30     for(i=L.length-1;i>=p;--i)
31     {
32         L.array[i+1]=L.array[i];
33     }
34 
35     L.array[p]=x;
36     ++(L.length);
37 }
38 
39 int deleteElem(SQlist &L,int p,int &e)
40 {
41     int i;
42     if(p<0 || p>L.length-1)
43         return 0;
44     p=p-1;
45     e=L.array[p];
46 
47     for(i=p; i<L.length ;i++)
48     {
49         L.array[i]=L.array[i+1];
50 
51     }
52     --L.length;
53     return 1;
54 
55 }
56 void main()
57 {
58     SQlist *s=(SQlist*)malloc(sizeof(SQlist));
59 
60     for(int i=0;i<6;i++)
61     {
62         s->array[i]=(i+3);
63         printf("%d  ",s->array[i]);
64     }
65     printf("\n");
66     s->length=6;
67     insertElem(*s,15);
68 
69     
70     printf("增加后字符串为:");
71     for(int j=0;j<s->length;j++)
72     {
73         printf("%d  ",s->array[j]);
74     }
75     printf("\n");
76     printf("增加后字符串长度为%d\n",s->length);
77     int n;
78     deleteElem(*s,2,n);
79 
80     printf("%d\n",n);
81     for(int k=0;k<s->length;k++)
82     {
83         printf("%d  ",s->array[k]);
84     }
85 
86 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C程序设计(第四版)课后习题完整版 谭浩强编著

    答:程序就是一组计算机能识别和执行的指令。 程序设计是指从确定任务到得到结果,写出文档的全过程。(一般经历6个阶段:①问题分析;②设计算法;③编写程序;④对源程...

    用户2417870
  • 数据结构之内外排序

    插入排序是在一个已经有序的小序列的基础上,一次插入一个元素。当然,刚开始这个有序的小序列只有1个元素,就是第一个元素。比较是从有序序列的末尾开始,也就是...

    用户2417870
  • 软件工程期末考试复习(七) 软件维护的定义软件的可维护性

    1、软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。

    用户2417870
  • 二维数组中的查找代码

    desperate633
  • 一看就懂的快速排序方法_java版

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

    Hongten
  • 还不会十大排序,是准备家里蹲吗!?

    代码的效果正好和图片相反,其实冒泡排序作为最简单的排序方法之一,基于的是一个这样的概念:两两交换,比较双方数值大的放在高位,数值小的则放在低位。

    ClericYi
  • 还不会十大排序,是准备家里蹲吗!?

    代码的效果正好和图片相反,其实冒泡排序作为最简单的排序方法之一,基于的是一个这样的概念:两两交换,比较双方数值大的放在高位,数值小的则放在低位。

    glumes
  • java数组实现相关方法

    import com.sun.corba.se.impl.orbutil.graph.Node; import com.sun.corba.se.spi.pre...

    张俊怡
  • 堆排序算法的java实现

    堆积排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。堆排序是不稳定的排序方法,...

    sanmutongzi
  • java基础知识01

    正所谓万丈高楼平地起,有了扎实的基础才能进阶更深奥的课程,才能让你后面的走得更轻松,学Java亦是如此!所以千万不能忽略基础的重要性,下面一起来温习一下那些容易...

    贪挽懒月

扫码关注云+社区

领取腾讯云代金券