数据结构——线性表

来源:互联网 发布:2016中国网民数据统计 编辑:程序博客网 时间:2024/06/04 23:33

我理解的线性表好比一根线上穿上好多针,有一天你想在哪加根针了就在哪根针前面加根针,加上去的那根针后面的针都往后移一个位置,想去掉哪根针了就把哪根针去掉,然后去掉的那根针后面的针都往前移一个位置。

一个线性表是n个数据元素的有限序列。比如说26个英文字母(A-Z),
线性表的特点:1有一个被称为“第一个”的数据元素;2有一个被称为“最后一个”的数据元素;3除第一个数据元素以外,集合中的每个元素都只有一个前驱;4除最后一个数据元素以外,集合中的每一个元素都只有一个后继。
拿26个字母做一个集合举例,A是一个字母是该集合中的第一个元素,Z是最后一个字母是该集合的最后一个元素。C字母的前驱就是B,后继就是D。(应该没有理解错)。

复杂的线性表中,一个数据元素可以是若干个数据项(就像一个数据结构里也有很多成员列表一样),常把数据结构称为记录,而有大量记录的线性表称为文件。

线性表是一个很灵活的数据结构长度可根据需要插入或删除。


下面这个算法是有两个线性表a,b,将存在于b中的数据元素而不存在a的数据元素插入到a。

void union(list &la,list lb){    la- len = listlength(la); lb-len = listlength(lb);    for(i = 1; i <= lb-length; i++)    {         getelem(lb, i, e);        if(!locatelem(la, e, equal))            listinsert(la, ++la_len, e);    }}
原创粉丝点击