C1 2018級演算法第一次上機A題題解

2021-09-28 13:33:19 字數 833 閱讀 4197

如上所說,將氣泡排序的模擬問題,轉化成歸併排序求逆序對數的問題,而這個問題在之前多次做到,可以稱之為「板子題」了,與歸併排序唯一不同的地方是,多了乙個語句用以記錄逆序對數。

cnt +

= len1 - lpos;

即某步歸併過程中消除的逆序對數等於當左陣列指標(乙個整型型別的下標)所指數大於右陣列指標所指數時,左陣列長度與左陣列指標的差值。

#include

#include

#define infinate 2147483647

int a[

1000000];

long

long cnt;

void

merge

(int left,

int mid,

int right)

for(i =

0;i < len2;i++

) leftarray[len1]

= rightarray[len2]

= infinate;

int lpos =

0,rpos =0;

for(i = left;i <= right;i++

)else}}

void

mergesort

(int left,

int right)

}int

main()

mergesort(0

,n -1)

;printf

("%lld"

,cnt)

;return0;

}

第一次上機

1 已知a,b均是整型變數,寫出將a,b兩個變數中 的值互換的程式。知識點 變數和運算子綜合 應用 2 給定乙個0 1000的整數,求各位數的和,例 如345的結果是3 4 5 12注 分解數字既可以先 除後模也可以先模後除 知識點 變數和運算子 綜合應用 3 華氏溫度和攝氏溫度互相轉換,從華氏度變...

第一次上機

1 已知a,b均是整型變數,寫出將a,b兩個變數中的值互換的程式。知識點 變數和 運算子綜合應用 package aaaa public class caaas 2給定乙個0 1000的整數,求各位數的和,例 如345的結果是3 4 5 12注 分解數字既可以先 除後模也可以先模後除 知識點 變數和...

第一次c 上機報告

一 問題及 檔名稱 hello。cpp 作 者 李雙琪 完成日期 2016年3月1日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 無 問題描述 程式輸出 a b和a b計算 問題分析 略 演算法設計 略 三 心得體會 第乙個c 程式,中間有些小障礙,成功克服。c 我會好好學的!四 知...