91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 7KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-13
  • 語言: 其他
  • 標簽: 數據結構??

資源簡介

數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構數據結構

資源截圖

代碼片段和文件信息

#include
#include?
#include
#include
typedef?struct?Node?{
struct?Node*?prev;
char?c;
struct?Node*?next;
}Node;

typedef?struct?{
struct?Node*?head;//指向頭結點的指針
struct?Node*?rear;//指向尾結點的指針
int?count;
}List;
void?insert_List(List*?char);
void?Delete_List(List*);
void?Calculate(List*?List*?int);
void?print(List*?char);
void?clear_high_zero(List*);
int?main()?{
char?c1[1000]?c2[1000]?sign1?sign2;
List?num1?num2;
int?temp?=?0;
int?i?j;
bool?flag?=?true;
Node?*temp1?*temp2;
//初始化頭尾結點以及頭尾結點的指針
num1.head?=?(Node?*)malloc(sizeof(Node));
num2.head?=?(Node?*)malloc(sizeof(Node));
num1.rear?=?num1.head;
num1.head->next?=?NULL;
num1.head->prev?=?NULL;
num1.count?=?0;
num2.rear?=?num2.head;
num2.head->next?=?NULL;
num2.head->prev?=?NULL;
num2.count?=?0;


scanf(“%s%s“?&c1?&c2);
for?(i?=?0;?i if?(c1[i]<‘0‘?||?c1[i]>‘9‘)
continue;
insert_List(&num1?c1[i]);
}
for?(j?=?0;?j if?(c2[j]<‘0‘?||?c2[j]>‘9‘)
continue;
insert_List(&num2?c2[j]);
}
//用sign來儲存正負號
sign1?=?c1[0];
sign2?=?c2[0];
if?(sign2?!=?‘+‘&&sign2?!=?‘-‘)?{
sign2?=?‘+‘;
}
if?(sign1?!=?‘+‘&&sign1?!=?‘-‘)?{
sign1?=?‘+‘;
}

//同號時的處理
if?(sign1?==?sign2)?{
if?(num1.count?>?num2.count)?{
Calculate(&num1?&num2?1);
clear_high_zero(&num1);
print(&num1?sign2);
}
else?{
Calculate(&num2?&num1?1);
clear_high_zero(&num2);
print(&num2?sign2);
}
}
//異號時的處理
else?{
if?(num1.count?>?num2.count)?
{
Calculate(&num1?&num2?-1);
clear_high_zero(&num1);
print(&num1?sign1);
}
else?if(num1.count {
Calculate(&num2?&num1?-1);
clear_high_zero(&num2);
print(&num2?sign2);
}
//異號時還要特地去考慮兩個數字長度相等時的問題
else?{
flag?=?true;
//如果兩個數字的長度相同,那么就把絕對值大的那個數放到
//Calculate()中的第一個參數中去
if?(num1.count?==?num2.count)?{
temp1?=?num1.rear;
temp2?=?num2.rear;
//一直比較,直到出現兩個不一樣的數字的時候傳到下面的if中進行比較處理
while?(temp1->c?==?temp2->c?&&?(temp1?!=?num1.head?||?temp2?!=?num2.head))?{
temp1?=?temp1->prev;
temp2?=?temp2->prev;
}
if?(temp1?!=?num1.head&&temp2?!=?num2.head)?{
if?(temp1->c?>?temp2->c)
flag?=?true;
else?flag?=?false;
}
}
if?(!flag)?{
Calculate(&num2?&num1?-1);
clear_high_zero(&num2);
print(&num2?sign2);
}
else?{
Calculate(&num1?&num2?-1);
clear_high_zero(&num1);
print(&num1?sign1);
}
}
}
}

//插入數字,倒置插入,指針head指向的永遠是頭結點,指針rear指向的永遠是尾結點。
//數字在鏈表中的存儲是倒序存儲的例如當num1是1234時,
//實際上num1中的c的值的存儲順序是?空4321目的是為了方便后續的運算處理
//第一個結點的c值永遠為空最后一個結點的next?的值始終為null
void?insert_List(List?*num?char?c)?{
Node?*p;
p?=?num->head->next;
num->head->next?=?(Node?*)malloc(sizeof(Node));
num->head->next->c?=?c;
num->head->next->prev?=?num->head;
num->head->next->next?=?p;
if?(p?!=?NULL)
p->prev?=?num->head->nex

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????5909??2017-12-03?00:08??shiyan2.cpp

?????文件???????1719??2017-12-06?16:24??shiyan3_xiugai.cpp

?????文件???????4510??2017-12-09?18:16??shiyan4_xiugai_ok.cpp

?????文件???????4060??2017-12-09?21:27??shiyan5.c

?????文件???????5054??2017-11-30?10:02??shiyan1_ok.cpp

-----------?---------??----------?-----??----

????????????????21252????????????????????5


評論

共有 條評論