怎麼樣寫乙個C 程式,刪除一維陣列中的重複資料,使陣列中的資料各不相同?

時間 2021-07-06 23:38:33

1樓:張強

排序,氣泡排序會寫吧?

稍微改一改就可以寫乙個去重程式了

語言描述一下,程式你自己寫了:

先設定skip=0;

當i位置時,從i+skip+1~n中選最大/小的,如果i>0並且這個資料和i-1的資料相等,

就是重複了,skip++,下一輪i不增加,直接從i+skip+1~n中選最大/小的,迴圈;

如果沒有重複,i位置和選中的最大/小值交換,i++,進入下一次迴圈這樣不僅去重,還能直接給排序好,多好啊

2樓:yoodaa

#include

#include

#include

#include

#include

intmain();

std::

sort(v

.begin

(),v

.end

());

// 1 1 2 2 3 3 3 4 4 5 5 6 7auto

last

=std

::unique(v

.begin

(),v

.end

());

// v 現在保有 ,其中 x 不確定v.

erase

(last,v

.end

());

for(

inti:v

)std

::cout

<

std::

cout

<<"\n

";}輸出:1 2 3 4 5 6 7

c 怎麼開乙個10 9的陣列

之前搞acm這種問題遇到很多,資料動不動就是過億的,我們一般都統一全域性分配,在函式裡分配都會出問題,現在已經忘了堆和棧的區別了 malloc N 是申請了N個Byte的空間,不是N個int的空間,所以應該是malloc sizeof int N 天象 最簡單的方法其實不是new或malloc,是把...

如何寫乙個這樣的C 程式?

wythe colin 判斷是否是乙個數字,在C 中個人喜歡用正規表示式,比轉換後再判斷的效能要高.public static bool IsNumeric this string value 放在乙個靜態類中,即可直接呼叫判斷.如果想讓使用者在輸入的時候就限制只能輸入實數,則可以定義文字框事件,輸...

c語言中為什麼一維陣列名可以賦值給乙個普通的指標,二維陣列名卻不可以賦值給乙個指向指標的指標?

yihonge 可以,不過有編譯 警告罷了。警告是在提示你可能存在潛在問題,而不是不能這樣做,你完全可以強制轉換。編譯器行為罷了,就像char s hello 其實字串常量應該是const char 但是C編譯器偏偏沒有警告,C 編譯器就會有警告,因為C 的型別檢查比C嚴格。至於為什麼有警告 拋個問...