numpy查找元素位置 c語(yǔ)言如何刪除數(shù)組中重復(fù)元素?
c語(yǔ)言如何刪除數(shù)組中重復(fù)元素?1/*2想法:3將字符串存儲(chǔ)在字符數(shù)組a中,設(shè)置要復(fù)制到數(shù)組B的值,遍歷B的每個(gè)元素4素?cái)?shù),與a中的每個(gè)元素進(jìn)行比較,如果有相同的,則將B中的相應(yīng)元素設(shè)置為-1。5個(gè)輸出
c語(yǔ)言如何刪除數(shù)組中重復(fù)元素?
1/*
2想法:
3將字符串存儲(chǔ)在字符數(shù)組a中,設(shè)置要復(fù)制到數(shù)組B的值,遍歷B的每個(gè)元素
4素?cái)?shù),與a中的每個(gè)元素進(jìn)行比較,如果有相同的,則將B中的相應(yīng)元素設(shè)置為-1。
5個(gè)輸出元素非-1 in B.
6*/
7#-包括和ltstdio。H>
8#-包含字符串(&L)。H>
9 char a[100],B[100
]10 void del(int index,int len){
11 for(int i=0I<leni){
12 if(index==i)continue//下標(biāo)相同,即不比較同一個(gè)元素并進(jìn)入下一個(gè)循環(huán)
13 if(B[index]==a[i])B[index]=-1//使用同一個(gè)元素,設(shè)為-1
14}
15}
16 int main(){
17 gets(a)
18 memcpy(B,a,sizeof(a))//將a的元素復(fù)制到B
19 int len=strlen(a)//求a的長(zhǎng)度
20 for(int i=0I<leni){
21 del(i,len)
22}
23 for(int i=0I<leni){//輸出B中的非1元素
24 if(B[i]!=-1){
]25 printf(%C“,B[i])
26}
]27}
28返回0
29}
假設(shè)有一組數(shù)組(字符數(shù)組、整數(shù)數(shù)組等)需要?jiǎng)h除其中的重復(fù)元素。一個(gè)更方便的方法是使用STL::vector,它定義了許多成員函數(shù)。通過(guò)這些成員函數(shù)的組合,可以很容易地實(shí)現(xiàn)許多任務(wù)。
首先,對(duì)數(shù)組進(jìn)行排序:
1。向量< int> sun
2。//向sun添加元素
3。對(duì)于(int i=0 i< n i){
4sun.push后退(質(zhì)數(shù)[i])
5。}
6.排序(太陽(yáng)。開始(), 太陽(yáng).end())
其次,使用擦除和唯一功能可以從數(shù)組中刪除重復(fù)元素:
1太陽(yáng)。擦除(唯一(太陽(yáng)。開始(), 太陽(yáng).end()), 太陽(yáng).end())
擦除的功能是刪除指定范圍內(nèi)的所有函數(shù)
unique將相鄰的重復(fù)元素移到最后一個(gè)