1樓:
把printf(""列印不要寫在有scanf(""的for迴圈裡面,你要列印的話,另外寫個for迴圈,如果你。
for()scanf();
printf(""
因為資料還沒有錄入,緩衝區還是空的,怎麼能列印出資料呢?
應該。for()
scanf(""
for()printf(""
要分開來寫,錄入的就錄入,列印的就列印,不要混在一起!
2樓:網友
1.輸入的時候。
scanf("%d",num+i);
2.逆序的時候。
for(i=0;i<7/2;i++)
否則最後順序不變的。
3樓:網友
第二個for迴圈的次數錯了。應該是i<4;
for(i=0;i<4;i++)
temp=num[i];
num[i]=num[6-i];
num[6-i]=temp;
printf("逆序後的資料為:%d",num[i]);
自己畫圖試一試就明白了。
逆序數的定義
4樓:輕語深
在乙個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為乙個逆序。乙個排列中逆序的總數就稱為這個排列的逆序數。逆序數為偶數的排列稱為偶排列;逆序數為奇數的排列稱為奇排列。
如2431中,21,43,41,31是逆序,逆序數是4,為偶排列。
對於逆序陣列,,選擇排序 和 插入排序 那個更快???請給出 詳細的 理由。。
5樓:網友
插入排序(可以)更快。(不是一定,看插入排序尋找插入位置時所採用的演算法)
選擇排序需要從序列中找到當前最大或最小的值才能進行排序,因此每次都需要與子序列中的全部元素進行比較。
插入排序無需比較子序列全部元素,在逆序情況下,只需要找到當前序列第乙個比自己大或小的元素,將自身插入到其前乙個位置即可。
例如 4,3,2,1 要排序成1,2,3,4
1. 選擇排序,首先比較3次,獲得1,然後比較兩次獲得2,最後比較1次獲得3
2. 插入排序, 首先3比4小插入到4的前面,2比3小插入到3的前面,1比2小插入到2的前面,總共比較三次。此時插入排序的速度更快。
6樓:網友
選擇排序:每一趟從待排序的資料元素中選出最小(或最大)的乙個元素,順序放在已排好序的數列的最後,直到全部待排序的資料元素排完。 選擇排序是不穩定的排序方法。
選擇排序是不穩定的。演算法複雜度是o(n ^2 )。
插入排序:每次從無序表中取出第乙個元素,把它插入到有序表的合適位置,使有序表仍然有序。
直接插入排序是穩定的。演算法時間複雜度是o(n ^2)。
選擇排序適用於陣列,而插入排序則適用於連結串列。
看你是什麼儲存結構了。
求逆序數
7樓:網友
一組數: x1 x2 ……xn
記第i個數 xi 前面的, 且差握比xi大的數 有兄慶虧 ki個。
那麼逆序數 = k1+k2+……kn
一組數: 2k , 1 , 2k-1 , 2 , 2k-2 , 3 , k+1 , k
第1個數: 2k 前 比2k大的數有 0 個。
第2個數: 1 前 比1大的數有1 個。
第3個數: 2k-1 前 比2k-1大的數有 1 個。
第4個數: 1 前 比1大的數有2 個。
第2k-1個數: k+1 前 比k+1大的數有 k-1 個。
第2k個數: k 前 比1大的數有k 個。
注意 奇數行 與 偶數行。
逆序羨神數 = 0+1+……k-1)]+1+2+……k]k(k-1)/2 + k(k+1)/2k²
8樓:大鋼蹦蹦
2k 產生 2k-1
2k-1 產生備磨 2k-3
2k-3 產生 2k-5
k+1 產生 1
其餘1,2,。。k不產生逆序仿坦斗數。
所以信基共產生2k-1+2k-3+..3+1=k^2
關於逆序數的問題求解
9樓:網友
【俊狼獵英】團隊為您解答~
n個元素共能組成c(n,2)=n(n-1)/2個數對p1p2……pn和pn……p2p1中所有數對的順序相反,因此對每乙個數對,兩個排列中必然是乙個正序乙個逆序。
1+τ2=n(n-1)/2
2=n(n-1)/2-k
求逆序數
10樓:聽不清啊
5 7 3 4 2 1 6的衝老逆序數:睜判碼。
總計逆序數為悉哪4+5+2+2+1=14
逆序數的問題
11樓:網友
0+0+1+3+4=8
以上左端五數字分別就是35421五數字的逆序數。
排列有n個元素,求正序數與逆序數的和
n n 1 2。排列 n,n 1 3,2,1的逆序數是 n n 1 2,這是n元排列的最大逆序數,順序數是0。在一個排列中,任何一個數對不是構成逆序就是構成順序,此消彼長,所以它們的和是 n n 1 2。或者這麼說 1,2,3,n 這n個數共可組成 c n,2 n n 1 2 個數對,在一個排列中,...
線性代數裡的逆序數是啥意思
我是一個麻瓜啊 在一個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為一個逆序。一個排列中逆序的總數就稱為這個排列的逆序數。一個排列中所有逆序總數叫做這個排列的逆序數。也就是說,對於n個不同的元素,先規定各元素之間有一個標準次序 例如n個 不同的自然數,可規定從小到...
matlab將矩陣按列的逆序排列為什麼是這樣
是對的,a n 1 1 中第一個 表示的是所有的行,n 1 1表示的是從n列取到第一列,按 1的步長。相當於進行的一個for迴圈 for i n 1 i直到i 1為止 matlab 將矩陣按列的逆序排列為什麼是這樣? 是對的,a n 1 1 中第一個 表示的是所有的行,n 1 1表示的是從n列取到第...