首页
社区
课程
招聘
[旧帖] [原创]线性表 0.00雪花
发表于: 2009-6-13 18:40 2902

[旧帖] [原创]线性表 0.00雪花

2009-6-13 18:40
2902
线性表是最基本的数据结构。对于高手会不以为然,但是由于全国高校的那惊人的教育质量。
大多数学c语言的学生连单链表都搞得半生不熟。
线性表只有两种基本形式。顺序和链式。
对于顺序表没多少可以讲的。一般用个数组就了事。
上过哪C语言的人该对数组很了解吧。于是我就pass了
对于顺序结构有个严重问题就是在删除和擦人时要大量移动。链表就没这问题了。
struct  lnode{
      ElemType      data;
      struct   lnode  *next;
}lnode,*linklist;
就是一个最基本的单链表。
getelem(linklist l,int i,ElemType &e){
p=l->next;j=1;
while(p&&j<i){
p=p->next;++j;
}
if(!p||j>1)return ERROR;
e=p->data;
return OK;
}
从这里你还没有看到链表的优越性。但是在插入和删除中就不必频繁移动了。
在a和b中插入c不难。只要让a的指针指向c,c指向b即可。而删除就更方便了。在要删除的前一项的指针指到他的后一项就行了
1 s->next=p-next;p->next=s;
2 p-next=p->next->next;
一般在实现算法时要用到一个头指针。
insert(linklist &L,int i,ElemType e0{
            p=l;j=0;
         While(P&&J<i-1){p=p->next;++j;}
         if(!p||j>i-1)return ERROR;
         s=(linklist)malloc(sizeof(lnode));
         s->data=e;s->next=p-next:
         p->next=s;
         return ok;
        }

未完

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
占位期待并支持!!

数据结构才是王道!
2009-6-13 19:30
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
struct  lnode{
      ElemType      data;
      struct   lnode  *next;
}lnode;
这只是个结构体吧
结构体=单链表?
2009-6-13 21:34
0
雪    币: 1491
活跃值: (975)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
4
NND 我文科毕业的。。。
不知道啥时候能把数据结构弄懂。。。
2009-6-13 23:05
0
雪    币: 243
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我记不大清楚了
依稀记得大二的课本,像是第二章的例子,那个ElemType和LNODE比较眼熟。
这个不像是心得体会,有点照本宣科,精华不是好混的。。。另外,参数后面的括号。。。真的被你干掉了。。。
阿弥那个佛。。。
2009-6-15 23:37
0
游客
登录 | 注册 方可回帖
返回
//