1. 程式人生 > >C++陣列去重

C++陣列去重

基本方法:定義一個新陣列,然後將元素組一一和新陣列的元素對比,若不同則存放在新陣列中。

#include <iostream>
using namespace std;
int main()
{
    int a[10] = { 0,1,1,0,2,3,2,4,2,4 };
    int tmp[10]; // 定義一個和k相同大小的陣列,存放去重後的數
    int m = 0; // 記錄當前tmp到底存了多少個元素
    for (int i = 0; i < 10; i++)
    {
        int j = 0;
        for (; j < m; j++)
        {
            if (a[i] == tmp[j])//拿a[i]依次與tmp裡的元素對比
                break; // 找到相同的了
        }

        if (j == m)
        { // 沒有找到一個相同的,把a中此元素放入tmp裡
            tmp[m] = a[i];
            m++;
        }
    }
    for (int i = 0; i < m; i++)
    {
        cout << tmp[i] << endl;
    }
    return 0;
}

先排序再去重

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
	int a[10] = { 0,1,1,0,2,3,2,4,2,4 };
	sort(a, a + 10);
	cout << a[0];
	for (int i = 1; i<10; i++)
	{
		if (a[i] != a[i - 1])
			cout << " " << a[i];
	}
	cout << endl;
}

相關推薦

C++陣列

基本方法:定義一個新陣列,然後將元素組一一和新陣列的元素對比,若不同則存放在新陣列中。 #include <iostream> using namespace std; int main() { int a[10] = { 0,1,1,0,2,3,2,4

C語言陣列排序(從大到小)

好久沒寫程式了,改了好久也只能寫成這樣,勉強能用 #include<stdio.h> void bubble_sort(int *arr,int len) {       int i, j,temp;        for(i=0;i<len;i+

OpenJudge百鍊習題解答(C++)--題4085:陣列排序

題: 總時間限制: 1000ms 記憶體限制: 1000kB 描述 小吉是銀行的會計師,在處理銀行帳目的時候,遇到了一些問題。有一系列整數,其中含有重複的整數,需要去掉重複後,排序輸出,你能幫助小

有序int陣列 c語言

    for(int i = 1;i<numsSize;++i)     {         if(nums[i]==nums[i-1])         {             //從i-1~numsSize-1 都是重複的  只保留到i-1就可以了      

C++ 利用set為vector陣列

#include<set> #include<vector> #include<iostream> using namespace std; int main() {vector<int> vec;vec = { 1, 2,

陣列c語言實現)

起因 在九度練習acm的時候,有道題我認為應該先進行陣列去重操作,由於工作中我大部分都是用php寫程式碼,php中陣列去重只要一個array_diff()函式即可實現,但是到C語言中,我就沒有現成的api函式可以讓我呼叫了,因此我自己實現了一個演算法,進行陣列去重,但是這個

c# List

pre ring c# pub class rem string div () public static void Purge(ref List<string> needToPurge) { for (int i

iOS陣列的方法,超級簡單

//最近新發現的一個數組去重,用不著迴圈,一句程式碼搞定 //去除陣列中重複的 NSArray *oldArr = @[@"1",@"2",@"3",@"4",@"5",@"6",@"2",@"3"]; NSArray *newarr = [oldArr valueForKeyPath:

今天博主跟大家聊一下__陣列__!! 【基本最全,從原始到高階,再到一句話!~是不是感覺很厲害哈!】

廢話不多說咱們直接看程式碼!! 博主的審美不太好 湊合看哈! <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8"> &nb

JavaScript 一維陣列、二維陣列方法

1.使用ES6語法 set方法陣列去重:: a=[1,2,3,4,1,2,3,4]; [...new Set(a)]; //[1, 2, 3, 4] 2.一維陣列去重方法 function unique1(array){ var n = []; //一個新的臨時陣列

js陣列扁平化

陣列去重 var arr = [1, 43, 4, 3, 2, 4, 3]; // 去重後 arr = [1, 43, 4, 3, 2] 傳統方法,for迴圈實現 function dedupe(arr) { var rets = []; f

資料結構演算法題/陣列

package com.lee.wait; import java.util.Arrays; import java.util.HashSet; import java.util.Set; /**  * ArrayUniue 陣列去重的問題  */ public clas

JavaScript 實現陣列

JavaScript 實現陣列去重 演示Demo 陣列去重 // 方法一 function unique1(a) { var res = []; for (var i = 0, len = a.length; i < len; i++) { for (var j =

JS實現陣列方法總結(三種常用方法)

方法一: 雙層迴圈,外層迴圈元素,內層迴圈時比較值 如果有相同的值則跳過,不相同則push進陣列 Array.prototype.distinct = function(){  var arr = this,result = [], i,j,len = arr.length;  f

JavaScript的函式(定義與解析、匿名函式、函式傳參、return關鍵字)和陣列(操作資料的方法、多維陣列陣列

函式 函式就是重複執行的程式碼片。 1、函式定義與執行 <script type="text/javascript"> // 函式定義 function aa(){ alert('hello!'); } // 函式執行

字元陣列

今天週五,剛剛完成了一個附件需求,心情還不錯,在逛公司util時發現了一個比較有用的方法,在這裡記錄下來。 import org.junit.Test; import java.util.ArrayList; import java.util.List; public class Demo

JavaScript陣列的四種方法

今天,剛剛參加了公司的筆試,關於陣列去重,後來簡單總結了幾種方法,希共勉,為我打call....... es5四種方式: 方式一: Array.prototype.unique1 = function() { // 1. 定義陣列 var temp = []; // 2. 遍歷當前陣列 f

手寫陣列

//本來以為挺簡單,還是天真,考慮,NaN,{}. 1:arr.splice(i+1,1);//表示插入刪除元素,表示刪除i+1個元素,1表示刪除一個 //手寫陣列去重            &

iOS-給陣列的幾個方法

導讀:iOS有幾種特殊的集合和方法,可以用於陣列去重。 1.利用NSDictionary的AllKeys(AllValues)方法 可以將NSArray中的元素存入一個字典,然後利用AllKeys或者AllValues取得字典的所有鍵或值,因為NSDictionary不會將Key相同

js利用indexof方法實現陣列

var arr = [1, 2, 1, 4, 3, 4, 2, 6, 8]; var newArr=[]; for(var i = 0; i < arr.length; i++) { if(newArr.indexOf(arr[i