/* 建立一種資料結構,可以儲存任意個、任意長度的整數,
* 利用這個資料結構,輸入一串數,排序,求累加和
* 思路:用以鍊錶表示,用字元型陣列表示大整數 鏈頭儲存和 */
#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...