小龙门鱼
发表于 2014-4-18 10:14:17
浏览下看看
zhouyuelun
发表于 2014-4-18 10:25:52
看看到底是什么
田代勇
发表于 2014-4-18 12:07:27
谢谢楼主分享,3Q
qw30716
发表于 2014-4-20 19:16:54
// 1.cpp : 定义控制台应用程序的入口点。
//
#include <stdio.h>
#include <stdlib.h>
struct tagNode
{
float coef;
int exp;
struct tagNode *next;
};
typedef struct tagNode Node;
typedef struct tagNode* pNode;
typedef struct tagNode* List;
List Create();
voidPrint( List L );
void add_poly(Node *pa,Node *pb);
int main()
{
List pa = Create();
List pb = Create();
add_poly( pa, pb );
Print( pa );
getchar();
return 0;
}
List Create()
{
List New = ( List )malloc( sizeof( Node ) );
List P, Q;
New -> next = NULL;
int n;
printf( "输入项数\n" );
Q = New;
scanf( "%d", &n );
for( inti = 0; i < n ; i++ )
{
P = ( pNode )malloc ( sizeof( Node ) );
P -> next = NULL;
scanf( "%f%d" , &( P -> coef ), &( P -> exp ) );
Q -> next = P;
Q = P;
}
return New;
}
void Print( List L )
{
pNode P = L -> next;
while( P -> next != NULL)
{
printf( "%.2fx^%d+", P ->coef, P ->exp);
P = P-> next;
}
printf( "%.2fx^%d", P ->coef, P ->exp);
printf( "\n" );
}
void add_poly(Node *pa,Node *pb)
{
Node *p = pa -> next;//链表1,将来的结果也放在此
Node *q = pb -> next;//链表2
Node *pre=pa;
Node *u;//临时用
float x;
while ( p != NULL && q != NULL )//当两个链表都不为空
{
if (p -> exp < q -> exp )//比较链表1跟链表2当前节点的指数大小,链表1也是存放结果的地方
{
pre = p;
p = p -> next;//p指向要比较的下一个结点。pre指向的是结果链表的最后一个结点。
}
else if ( p -> exp == q -> exp )//假如链表1和链表2的指数相等,就要系数相加
{
x = p -> coef + q -> coef;
if ( x!=0 )//相加后的系数不为0,有必要保留一个结点就可以了
{
p -> coef = x;
pre = p;
}
else//如果相加后,系数是0,不需要保留任何一个结点,在这里删除链表1的结点,下面删除链表2的结点
{
pre -> next = p -> next;//保持链表1的连续性
free( p );
}
p = pre -> next;//p指向要比较的下一个结点
//下面的代码是进行链表2结点的删除工作,因为指数相等,仅仅需要保留一个结点就可以了
//而结果直接保存在链表1中,所以,删除链表2的结点。
u = q;
q = q -> next;
free( u );
}
else//如果链表2的当前节点指数小,那么要把链表2的当前节点加入到结果链表中(即是链表1)
{//相当于把结点插入到链表1中,用u作为临时变量,保存链表2的下一个当前节点的位置。
u = q -> next;
q -> next = p;
pre -> next = q;
pre = q;
q = u;
}
}
if ( q )//如果链表2比链表1长,那么需要把链表2多余的部分加入结果链表中。链表1比链表2长,则什么都不用做。
{
pre -> next = q;
}
free( pb );
}
tavin
发表于 2014-4-21 14:16:07
對學習後的謎斯有一個解答
wocanimeiomm
发表于 2014-4-23 15:57:19
数据结构太枯燥了
nsonline
发表于 2014-4-24 14:24:02
感谢楼主分享,大爱呀
弈羽寒
发表于 2014-4-24 20:45:18
感谢楼主分析那个
sdhu
发表于 2014-4-25 19:58:32
看看。。。。。。。。。。。。。。。
alexpenf
发表于 2014-4-25 21:28:52
好东西啊,找了很长时间此类书籍了
忠弟
发表于 2014-4-25 21:56:30
好像数据结构更多的是让我们理解计算机汇编时是如何操作的吧。。。
火锅要吃微辣
发表于 2014-4-25 22:19:48
又是扫描版哇
devilzhang1
发表于 2014-4-27 07:50:09
谢谢楼主分享。。。
梦断神殇
发表于 2014-4-30 13:37:34
谢谢分享{:1_1:}
枫界易城
发表于 2014-4-30 13:58:24
过来看看,,,,,,,,,
秦晓彬
发表于 2014-5-6 12:22:14
看看,杭电以前听说过,呵呵
Stduy_Student
发表于 2014-5-7 11:52:29
感谢楼主分享,顶贴支持~
Stduy_Student
发表于 2014-5-8 09:44:29
可以看看的
Pom
发表于 2014-5-8 10:03:04
数据结构真的很有用 如果你只是混混日子的,建议不要学
那是成为大牛之后才发挥作用的.
barry_2012
发表于 2014-5-8 11:03:01
感谢楼主分享