张麻子


私信TA

用户名:qwezjh

访问量:2482

签 名:

上任鹅城

等  级
排  名 845
经  验 3500
参赛次数 0
文章发表 25
年  龄 0
在职情况 学生
学  校 asd
专  业

  自我简介:

TA的其他文章

解题思路:

注意事项:

参考代码:

#include "stdio.h"

#include<stdlib.h>

typedef int Elemtype;

typedef struct LNode //结构定义

{

Elemtype data;

Elemtype data1;

struct LNode* next;

}LNode, * LinkList;


void create_H(LinkList& L) //头插法建立单链表(逆序)

{

//printf("INPUT:");

L = (LinkList)malloc(sizeof(LNode));

L->next = NULL;

/*LNode* s;

int x;

scanf("%d", &x);

while (x != 9999)

{

s = (LNode*)malloc(sizeof(LNode));

s->data = x;

s->next = L->next;

L->next = s;

scanf("%d", &x);

}*/

}


void create_R(LinkList& L) //尾插法建立单链表(顺序)

{

printf("INPUT:");

L = (LinkList)malloc(sizeof(LNode));

L->next = NULL;

LNode* s, * r = L;

int x;

scanf("%d", &x);

while (x != 9999)

{

s = (LNode*)malloc(sizeof(LNode));

s->data = x;

r->next = s;

r = s;

scanf("%d", &x);

}

r->next = NULL;

}


void printf_L(LinkList L)//打印单链表

{

LNode* p; p = L;

printf("单链表为:");

while (p->next != NULL)

{

p = p->next;

printf("%d ", p->data);

}

printf("\n");

}


Elemtype  getelem(LinkList L, int i) //按序号查找

{

LNode* p; p = L;

int j = 0;

while (p != NULL && j < i)

{

p = p->next; j++;

}

//printf("%d", p->data);

return p->data;

}


int Locate_L(LinkList L, Elemtype e) //按值查找

{

LNode* p; p = L;

int j = 0;

while (p->data != e && p != NULL)

{

p = p->next;

j++;

}

return j;

}


int length(LinkList L) //单链表长度

{

LNode* p; p = L;

int j = 0;

while (p->next != NULL)

{

p = p->next;

j++;

}

return j;

}


void Delete_L(LinkList& L, int i) //删除给定序号节点

{

LNode* p; p = L;

int j = 0;

while (p != NULL && j < i - 1) //找到i-1个节点

{

p = p->next; j++;

}

LNode* q; q = p->next;

p->next = q->next;

free(q);

}


void Insert_L(LinkList& L, int i, Elemtype e) //第i个位置插入e

{

LNode* p; p = L;

int j = 0;

LNode* s;

s = (LNode*)malloc(sizeof(LNode));

s->data = e;

while (p != NULL && j < i - 1) //找到i-1个节点

{

p = p->next;

j++;

}

s->next = p->next;

p->next = s;

}


int  A(LinkList L) 

{

LNode* p; p = L;

int sum = 0;

p = p->next;

while (p) 

{

sum += p->data;

p = p->next;

}

return sum;

}

int main()

{

LinkList L; LinkList LB;

create_H(L); create_H(LB);

//printf_L(L);

//printf("序号查找的值为:%d\n", getelem(L,4));

//printf("长度:%d\n", length(L));

//printf("值查找的序号为:%d\n", Locate_L(L, 4));

//Delete_L(L, 3);

//Insert_L(L, 3, 999);

//int n; scanf("%d", &n);

for (int i = 0; i < 10; i++) 

{

int x; 

scanf("%d", &x);

Insert_L(L, 1, x);

scanf("%d", &x);

Insert_L(LB, 1, x);

}

//printf_L(L);

//printf_L(L);

printf("%d+%di", A(L), A(LB));

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区