c語言陣列去重

2021-09-29 09:49:54 字數 1233 閱讀 8560

今天在做題的時候需要用的陣列去重的演算法,本人又太懶,在網上看到有標準庫函式來解決這個問題,今天和大家分享一下。這個神奇的函式就是unique函式,現在我們來介紹一下unique函式-----

**unique函式

類屬性演算法unique的作用是從輸入序列中「刪除」所有相鄰的重複元素。

該演算法刪除相鄰的重複元素,然後重新排列輸入範圍內的元素,並且返回乙個迭代器(容器的長度沒變,只是元素順序改變了),表示無重複的值**

現在我們看看怎麼具體使用這個函式

#include

#include//unique所在的標頭檔案

using namespace std;

int main();

sort(a,a+10)

;//因為unique是去除相鄰的相鄰的重複元素,所以我們要先排序

int n = unique(a,a+10) - a;//排序後的數值長度

for(int i=0;ireturn 0;

}

今天想了想人生不能那麼墜落呀!於是自己琢磨了幾種去重的演算法,幾天和大家分享一下。

再次更新

第一種版本,比較low,但容易理解

#include

intmain()

;intb[

10];int

count=0

;for

(inti=

0;i<10;

i++)

}if(flag==

1)else}a

[10]=

;for

(inti=

0;i<

count-1;

i++)

return0;

}

第二種版本

#include

intmain()

;//intb[

n];intn=

sizeof(a

)/sizeof(a

[0])

;//求陣列的長度//

intcount=0

;for

(inti=

0;ii++)

n--;

j--;//

這一步非常重要,沒有的話部分結果就會不正確}}

}for

(inti=

0;ii++)

return0;

}

C 陣列去重

比如我們有這樣乙個陣列 string array 去重後的陣列 array 方法名 delarraysame 功能 刪除陣列中重複的元素 所要檢查刪除的陣列 返回陣列 public string delarraysame string temparray string newstr string n...

C語言一維陣列去重

我在csdn看了好幾篇關於一維陣列去重的部落格,發現他們都是先排序或者寫的很複雜,我覺得看了沒有多大收穫,所以打算自己寫一篇部落格,供新手參考,大佬就不用過來看了,嘿嘿。include brief 陣列去重 parma parr接收陣列首元素 parma n陣列的長度 void arr rpttn ...

C語言字串 陣列去重

輸入 hello 輸出 helo 第一種實現 不新開陣列,也就是原地去重.include include void removeduplicate char str int main void void removeduplicate char str void removeduplicate ch...