导航:首页 > 源码编译 > 计算线性单链表的长度的算法

计算线性单链表的长度的算法

发布时间:2023-03-12 00:57:11

‘壹’ 怎样写出计算单向链表长度的算法

定义一个记录长度的变量length 再定义一个指针指向头结点 然后判断下一个节点是否为空 不为空length++ 循环判断 直到定义哪个指针指向的对象为空

‘贰’ 【数据结构】求线性表的长度和线性表上的查找算法

/* 顺序存储类型*/
typedef struct
{ ElemType data[MAXSIZE]; /*存放线性表的数组*/
int length; /* length是顺序表的长度*/
}SqList; SqList L;
/* 求顺序表长度*/
int ListLength(SqList L)
{return(L.length);}
/* 给定序号从顺序表中查找元素*/
void ListGet(SqList L ,int i)
{ if(L.length==0) printf("顺序表空\n");
else if(i<1||i>L.length) printf("查找的位置不正确\n");
else printf("顺序表中第%d个元素的值为:%d\n",i,L.data[i-1]);
}
/* 从顺序表中查找与给定元素值相同的元素在顺序表中的位置*/
int ListLocate(SqList L, ElemType x)
{int i=0;
while(i<L.length && L.data[i]!=x)
i++;
if (i<L.length) return (i+1);
else return 0;
}

‘叁’ 写出在带头结点的动态单链表结构上求线性表的长度的算法: int LengthList( Node *L ) 谢谢!!

int LengthList( Node *L )

{
Node *p = L->next; //将p初始指向链表中第一个节点的地址

int length = 0;

while(p) //当p指向的地址不为空时,继续循环计算长度

{

++length;

p = p->next; //链表长度加1后,将p指向其后继节点地址

}

return length;

}

‘肆’ 试写一算法在带头结点的单链表结构上实现线性表操作Length(L)。下面各个步骤的解释要详细

intListLength_L(LinkList &L)
{
int i=0;//i存储链表长度,

初始为0
LinkList p=L;//p为链表的指针,

初始为头指针,指向头结点
if(p) p=p-next;//如果p指向的头结点不为空,

p指向带数据的第一个结点
while(p){//如果p非空,i长度加1,且指向下一个结点
p=p->next;


i++;}

return i;

//返回i,即链表的长度
}。

‘伍’ 求单链表的长度

struct node {
int data;
struct node *next;
} ;

创建单链表后,最后一个结点的next是NULL,据此来遍历表,获得长度。

void get_len( struct node *head )
{
struct node *p=head->next ;
int len=0;
while ( p )
{
len++;
p=p->next;
}
head->data=len ; //存储长度到头结点
}

阅读全文

与计算线性单链表的长度的算法相关的资料

热点内容
本地电脑怎么设置传奇服务器 浏览:1000
安卓10框架怎么制作 浏览:957
程序员退休工资待遇 浏览:607
湛江中文编程数控系统代理 浏览:417
openglandroid书 浏览:170
奇妙组件安卓版叫什么 浏览:729
微信授权什么app权重最高 浏览:11
php循环数组foreach 浏览:78
zip和app有什么区别 浏览:633
乖法快速算法 浏览:871
日本程序员一年工资 浏览:199
出国做程序员怎么样 浏览:735
rar锁定压缩文件 浏览:871
安卓id号码怎么更换 浏览:524
db2如何连接服务器数据库 浏览:630
wordtopdf转换 浏览:840
云服务器在哪设置ftp 浏览:622
黑客社会工程学攻击pdf 浏览:998
专业中颖单片机程序开发 浏览:426
python多进程多线程实例 浏览:639