字元型陣列表示大整數 並排序 求和

2021-09-01 10:30:48 字數 1006 閱讀 8837

/* 建立一種資料結構,可以儲存任意個、任意長度的整數,

* 利用這個資料結構,輸入一串數,排序,求累加和

* 思路:用以鍊錶表示,用字元型陣列表示大整數 鏈頭儲存和 */

#include #include #include typedef struct _nodenode;

char *getsum(char *,char *);

int comparedata(char *a,char *b);

node* initlist(void)

/* 把乙個字元陣列插入到鍊錶中,而且從小到大排序 */

int insert(node *l, char *a)

void tranverse(node *l)

printf("\n");

}/* 比較兩個數的大小,返回值:

* 1:a>b 0:a=b -1:astrlen(b))return 1;

if(strlen(a) < strlen(b))return -1;

return strcmp(a,b);

}char* getsum(char *a,char *b)

for(;i>=0;i--,k--)

for(;j>=0;j--,k--)

char *sum = (char *)malloc(sizeof(char)*(carry?pos_c+3:pos_c+2));

if(carry)

for(m=0;m<=pos_c;)sum[s++]=c[m++];

sum[s]='\0';

return sum;

}int main(int argc, char *argv)

{ int i ;

node *l = initlist();

for(i=1;i

求逆序對(歸併排序 樹狀陣列)

兩種演算法的時間複雜度都是 o nlogn 但是,有可能樹狀陣列需要離散化!所以,由許多元素共同影響下,歸併排序求逆序對 比 樹狀陣列求逆序對 歸併排序 include define ll long long define n 100005 using namespace std int a n t...

C語言 整數陣列去重並排序

一 c語言中自有的qsort 函式 功能 使用快速排序對要排序的物件進行排序 原型 void qsort void base,int nelem,int width,int fcmp const void const void 引數介紹 1 待排序陣列的首位址 2 待排序陣列中元素的個數 3 各個元...

求逆序對 樹狀陣列 歸併排序模板

ps 但資料大的時候,需要離散化陣列會多乙個排序的複雜的,其實還不如歸併找逆序對塊 歸併找逆序對也是o n logn 樹狀陣列 include include include include include include includeusing namespace std const int i...