永发信息网

怎么求线性表的长度,我需要一个线性表的定义,赋值,然后求线性表的长度。

答案:2  悬赏:0  手机版
解决时间 2021-02-14 10:32
这是我的数据结构作业,我明天要交作业了。求求高手们。
最佳答案
#include
#include

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


struct TLink * new_item(int number)
{
struct TLink * r = 0;
r = (struct TLink *)malloc(sizeof(struct TLink));
r->data = number;
r->next = 0;
return r;
}


struct TLink * lookup(struct TLink * root, int number)
{
struct TLink * h = root;
while(h) {
if (h->data == number) return h;
h = h->next ;
}
return 0;
}


void append(struct TLink * * root, int number)
{
struct TLink * r = 0, * n = 0;
if (!root) return ;


if (lookup(*root, number)) return;


r = *root;
if (!r) {
*root = new_item(number);
return ;
}


if (number < r->data ) {
n = new_item(number);
n->next = r;
*root = n;
return ;
}


while(r) {
n = r->next ;


if (!n) {
n = new_item(number);
r->next = n;
return ;
}


if (number < n->data ) {
r->next = new_item(number);
r->next->next = n;
return ;
}
r = n;
}
}


void print(struct TLink * root)
{
int total = 0;
struct TLink * r = root;
printf("【");
while(r) {
printf("%d ", r->data );
r = r->next ;
total ++;
}
printf("\b】\n");
printf("线性表总长度 = %d\n", total);
}

int main(void)
{
int i = 0; struct TLink * x=0;
int a[] = {8,4,3,9,5,1};
printf("原数据为:\n数组【");
for(i = 0; i < 6; i++) {
printf("%d ", a[i]);
append(&x, a[i]);
}
printf("\b】\n转换为有序线性表\n:");
print(x);
return 0;
}
全部回答
给成员赋值 typedef struct node { char data; struct node *next; }node,*linklist; linklist createfromtail(void) { linklist h; node *node,*tail; char c; int flag=1; h=(linklist)malloc(len); h->next=null; tail=h; while(flag) { c=getchar(); if(c!='#') { node=(node *)malloc(len); node->data=c; // 这里 tail->next=node; tail=node; } else { flag=0; tail->next=null; } } c=getchar(); return(h); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
江湖地址在哪,我要去那里办事
买股票的时候大资金一次性买多少手合适?
为什么要庆祝恋爱100天
哈尔滨市阿城区规划局地址在什么地方,想过去
Jese变频破壁机做排骨汤连骨头都能粉碎?能喝
考研调剂问题:是在国家线出来后看调剂信息还
澳门大学翻译系研究生怎么样
怎样用万用表测量pt100热电阻
网球线1.23mm和1.25的区别
世界啤酒bar地址好找么,我有些事要过去
中国电信股份有限公司阳信分公司地址有知道的
打瘦脸针第五天了可以游泳吗?
cat鞋分男鞋或女鞋吗?
大堂酒廊地址在什么地方,我要处理点事
【乃丹书帛曰】乃丹书帛曰陈胜王,
推荐资讯
应届毕业生在杭州工作,报到证过期是否影响落
求模拟人生3所有地图
白鹭区我想知道这个在什么地方
我是大一新生想竞选班长,该怎么办呢?如何和
福乐阁涂料红星美凯龙吴中路店地址在哪,我要
行知实验幼儿园(大华水岸蓝桥东北)地址在哪,
想把电脑D盘彻底格式化怎么弄?
红林食府我想知道这个在什么地方
形色花艺生活馆怎么去啊,有知道地址的么
【神鹤丹丹】神鹤丹丹观后感500字
凉州区人民检察院地址有知道的么?有点事想过
和朋友一起出去玩时,感觉自己呆呆的?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?