注意嗷:这里的一元多项式输入时,指数exp不一定是按照递增顺序输入的,但是最终我们想获得一个指数递增的链表形式,所以在插入新结点时,需要进行判断,把他放在合适的位置。

#include<stdio.h>
#include<stdlib.h>
#include<math.h>//结构体定义
typedef struct node
{int cofe,exp;struct node *next;
}Lnode,*Linklist;//建立系数递增链表 并输入一元多项式的系数及指数
int Create_L(Linklist &L,int n)
{Linklist s,g,p,r;//指示指针int i;L=(Linklist)malloc(sizeof(Lnode));L->next=NULL;//建立头结点for(i=1;i<=n;i++)//接下来输入剩余项系数与指数。但在插入链表前需要比较指数,放在适宜位置 {s=(Linklist)malloc(sizeof(Lnode));printf("输入该项系数:");scanf("%d",&s->cofe);printf("输入该项指数:");scanf("%d",&s->exp);g=L->next;p=L;while(g!=NULL&&s->exp>g->exp){g=g->next;p=p->next;//该结点需要插入在原链表p指针所指结点之后 } s->next=p->next;p->next=s;}
}//运算多项式的值
int Sum_L(  Linklist L,int x)
{int sum=0; Linklist w;;w=L->next;while(w){sum=sum+w->cofe*pow(x,w->exp);w=w->next;    }printf("多项式的值为:%d\n",sum);
}
//打印一元多项式链表
int Print_L(Linklist L)
{Linklist k; k=L->next;printf("一元多项式链表的系数和指数为:\n");while(k){printf("%d %d\n",k->cofe,k->exp);k=k->next;    }
} //运算主函数
int main()
{Linklist L,w;int n,x,sum=0; printf("请输入多项式的项数n:");scanf("%d",&n);Create_L(L,n);Print_L(L);printf("请输入多项式的x的值:");scanf("%d",&x);Sum_L(L,x);
} 

附运算结果如下:

链表练习(一元多项式):一元多项式采用带表头结点的单链表存放,用类C语言设计算法求一元多项式的值。相关推荐

  1. c语言中头结点不为零怎么写,C语言不带表头结点的单链表操作

    什么是链表 简单理解为链表的功能与数组功能相似用来存储数据,链表作为一种基本的数据结构在程序开发过程当中经常会使用到.对C语言来说链表的实现主要依靠结构体(可以存储多种数据类型)和指针,所以本文相关内 ...

  2. 设树采用孩子兄弟表示法存放.用类c语言设计算法计算树的高度.,(数据结构课程设计分类题目.doc...

    (数据结构课程设计分类题目 线性表 顺序表: 1.设有一元素为整数的线性表L=(a1,a2,a3,-,an),存放在一维数组A[N]中,设计一个算法,以表中an作为参考元素,将该表分为左.右两部分,其 ...

  3. (关于单链表的真题)已知一个带有表头结点的单链表...请设计一个尽可能高效的算法,查找链表中倒数第k个位置的结点。

    真题描述 已知一个带有表头结点的单链表,结点结构为 data next 假设该链表只给出了头指针head.在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点. 若查找成 ...

  4. 单链表创建之--头插法创建带头结点的单链表

    单链表常见的创建方法有头插法和尾插法,这里记录头插法创建带头结点的单链表具体过程: 以C语言为例, 1)首先使用 typedef 关键字定义结点数据类型 typedef struct LNode{in ...

  5. python实现带头结点的单链表的就地逆置_6-1 带头结点的单链表就地逆置 (10 分)...

    本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数.L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单链表中的元素进行逆置 ...

  6. python实现带头结点的单链表的就地逆置_带头结点的单链表就地逆置

    本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数.L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单链表中的元素进行逆置 ...

  7. 已知一个带有表头结点的单链表,结点结构为 data link 假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的 算法,查找链表中倒数第k个位置

    分析: 这是一个单链表算法题,题中说要在不改变链表本身的前提下,设计一个尽可能高效的算法,说明时间复杂度.空间复杂度都要尽可能地高效,常数也要尽可能小. 思路: 设置两个指针p和q,指p针在指针q后k ...

  8. 对表头指针、表头结点,单链表删除的理解

    https://blog.csdn.net/weixin_46678290/article/details/105309156

  9. 已知两个链表A和B分别表示两个集合,其元素递增排列。请设计算法求出两个集合A和集合B的差集(近由在A中出现而不再B中出现的元素所构成的集合),并以同样的形式存储,同时返回该集合的元素个数。

    #include <iostream> using namespace std; //第四题 typedef struct Lnode {int data;struct Lnode *ne ...

最新文章

  1. 关于使用sudo命令后找不到JAVA_HOME的问题
  2. 基于SmartQQ协议的QQ聊天机器人-7
  3. 73 Zabbix 微信告警
  4. html文本超出自动换行、显示省略号
  5. 8年程序员210天没找到工作,小公司老板:降薪5千,爱来不来
  6. OpenStack(二)——Keystone组件
  7. mysql报错:Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre
  8. 二级c语言基础题库100题,二级C语言上题库100题.doc
  9. element布局容器大小_Flutter完整开发实战详解(十六、详解自定义布局实战)
  10. pands库中的一些函数用法
  11. SCI分区:JCR分区和中科院分区 的差别
  12. 【自动驾驶技术概论】自动驾驶技术之汽车构造基础
  13. windows+clion Process finished with exit code -1073741515 (0xC0000135)
  14. 存储卡的使用方法大全
  15. 当你发现微信好友朋友圈是“一条杠”,你会把她、他删除吗?
  16. 硬件设计4---什么是电感磁珠?
  17. ②、jQuery,Hold on!
  18. 华为数据之道(3):面向业务的信息架构建设
  19. iPhone/iPad 传输文件/照片到电脑 - 实践
  20. 2.linux_进程编程

热门文章

  1. 2021-06-22 19点30 程序外生活 - 中国A50指数 机器预测学习跟踪记录 - 周2白天反弹持续进行,量能不高但平稳,持续反弹概率大,等待顶部信号出现再反向交易,暂多。但周月线持续跌势。
  2. 什么叫做「数据驱动方法」
  3. 五步移相法matlab程序_基于结构光的相移法三维重建matlab
  4. 【附源码】计算机毕业设计java在线学习系统设计与实现
  5. windows访问控制列表ACL
  6. CSS中文字间距和行间距
  7. 中心极限定理-通俗理解
  8. 基于图灵api实现微信聊天机器人
  9. bootStrap dropdown button
  10. Golang位运算符