66问答网
所有问题
顺序表的初始化怎么用C语言实现?举个例子,不胜感激
如题所述
举报该问题
推荐答案 2013-10-27
你所说的顺序表就是指单向链表吧。举个例子:
声明:typedef struct queue{
int data;
struct queue * next;
}queuetype; //定义结构体类型
typedef queuetype * pqueuetype; //定义结构体指针类型
pqueuetype front,rear; //声明链表头指针和尾指针
操作:
void queueinital(){
front=NULL;
rear=NULL; }
这一段函数就是所谓的单向链表的初始化,即将链表头指针和尾指针都赋值为空而已。如果你指的是将链表各个单元中的所有数据初始化,那需要先明白一个问题,链表各单元并不是先申请空间再等待你输入值的,而是,你有一个值,程序申请空间,然后将值写入。看一下下面的入队函数:
void inqueue(int x){
pqueuetype p=(pqueuetype)malloc(sizeof(queuetype));
p->data=x;
p->next=NULL;
if(rear==UNLL){
rear=p;
front=p;
}
else{
rear->next=p;
rear=p;}
}
}
通过这个入队函数,将值写入链表,链表根据你写入值的多少一个个申请空间,改变长度,通过所有指针将所有数据单元相连。实现单向顺序链表结构。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/29vn29xx9.html
其他回答
第1个回答 2013-10-27
e,纠正一下,严重错误。
如果是链表,则需要一个节点一个节点的进行初始化
pNode = sqList.pHead;
while(pNode!= null)
{
pNode->data = 1; //赋你希望的值
pNode = pNode->next;
}
本回答被网友采纳
第2个回答 2013-10-27
初始化为0:
int a[10];
memset(a, 0, sizeof(int));
初始化为有意义的数据:
int a[10] = {1,2,...,10};
或者: int a[] = {1,2,...,10};
或者:
int a[10];
for (int i=0; i<10; i++)
{
a[i] = i;
}
第3个回答 2013-10-27
如果是链表,则需要一个节点一个节点的进行初始化
pNode = sqList.pHead;
while(list->next != null)
{
pNode->data = 1; //赋你希望的值
}
相似回答
大家正在搜
相关问题
用C语言编写程序实现顺序表的插入操作,并且从键盘读取元素给顺...
顺序表和链表的基本操作,用C语言实现!
用c语言编写一个程序实现顺序栈的初始化,出栈和入栈。急需,谢...
用C语言创建一个顺序表并完成插入等操作
用c语言编写一段程序,建立一个顺序表(需要自己输入数据,并插...
:用C语言定义一个可扩展的顺序表结构,并实现初始化、求表长、...
用C语言编写一个程序,实现顺序表的各种基本运算.以下功能分别...
关于这段C语言描述的顺序表初始化的问题?