1樓:匿名使用者
注意:輸入時,指數按升序輸入
如: 1 1 2 2 3 3 0 0
2 2 3 3 0 0
結果:1 1 4 2 6 3
#include
#include
struct poly //設定結構體
; struct poly *jianli(void) //建立連結串列p1->next=p2;
p2->next=null;
p1=p2;
} return(head1);
} struct poly *jisuan(struct poly *head1,struct poly *head2) //多項式的相加
else if(p1->zhi>p2->zhi)else
if(p1->zhizhi) }
if(p1) free(head2);
else
return(head1);
} void print(poly *head) }void main()
2樓:二級程式設計師
在for條件引數中應用==(等於號)而不是=(賦值號)如:for(i==1,j<10,i==1)
用c++資料結構單連結串列寫一元多項式的相加 急求!!
3樓:x丶
//我以前寫過c語言的
#include
#include
#include
#define null 0
typedef struct node node;
node *creat(int n);
void print(node *head);
node *addpolyn(node *head1, node *head2);
node *delfirst(node *head, node *q);
void insertbefore(node *p1, node *p2);
int compare(int a, int b);
main()
/*建立連結串列*/
node *creat(int n)
previous->next = null;
return head;
}/*一元多項式的想加,總體考慮,可分qa的指數比qb小,或等於pb(如果係數相加等於0和不等於0),或大於pb 裡面由insertbefore和delfirst兩個小模組組成一部分*/
node *addpolyn(node *head1, node *head2)else
free(delfirst(hb, qb));
qa = ha->next;
qb = hb->next; /*qb釋放後要重新賦值*/
break;
case 1 : /*如果qa-> expn > qb -> expn*/
delfirst(hb, qb);
insertbefore(ha, qb); /*把qb插入到ha下一個結點之前*/
qb = hb->next;
ha = ha->next;
break;
} }if(qb)
ha->next = qb; /*插入剩餘的pb*/
free(head2);
return head1;
}/*比較*/
int compare(int a, int b)
/*刪除結點q*/
node *delfirst(node *p1, node *q)
/*插入結點,引入結點p,可以讓p插入到p2和p1之間*/
void insertbefore(node *p1, node *p2)
/*列印,為了美觀程式分開列印*/
void print(node *head)
printf("%0.f * x^%d", current->coef, current->expn);}
資料結構與演算法,哪種語言描述好,資料結構和演算法用什麼語言來學習入手比較好
關於資料結構與演算法的描述問題,現在是使用 c 語言進行描述的為多。因為 c 語言是目內 前比較流行的一種高階程式設計容語言。現在市場上就有售賣 資料結構 c語言版 的教材。該教材中的所有演算法 例如 各種排序演算法 以及查詢演算法 都是使用 c 語言進行描述的。根據我個人的體會就是 至於是學習哪一...
求資料結構程式C語言版,計算任意兩個一元多項式的加減乘法,輸
struct poly 在寫加減乘除時 首先輸入一個多項式其實就是一個結構體陣列 每個陣列元素由 次數和係陣列成 排序 按照次數的大小順序排序 求出每個多項式的長度,再 每個加減乘除函式裡面的堆上分配一個新的結構體陣列 malloc 以兩者中最長的長度分配,加減乘除時先遍歷長度大的再遍歷長度小的 兩...
計算機考研907資料結構與演算法滿分是多少
907資料結構與演算法滿分是150分。考試科目 及名稱 907資料結構與演算法 一 考試基本要求 本考試大綱適用於報考深圳大學計算機與軟體學院學術型碩士的研究生入學考試。資料結構與演算法 是為招收電腦科學與技術學術型碩士和軟體工程學術型碩士而設定的具有選拔功能的水平考試。它的主要目的是測試考生對資料...