如何通过传递其值从C ++中删除Set中的元素

如何通过传递其值从C ++中删除Set中的元素

给定一个Set,在C ++中删除此Set的最后一个元素。

例子:

输入值: set = [10 20 30 70 80 90 100 40 50 60],
valueOfElementToBeDeleted = 100
输出值: 10 20 30 40 50 60 70 80 90

输入值: set = [1 2 3 4 5],
valueOfElementToBeDeleted = 3
输出值: 1 2 4 5

集合(Set)是一种关联容器类型,其中每个元素都必须是唯一的,因为元素的值标识它。元素的值添加到Set之后无法修改,但是可以删除并添加该元素的修改值。

方法: 在此方法中,使用erase()函数并将其参数作为最后一个元素的值调用来删除最后一个元素。如果不知道最后一个元素的值,则使用上一种方法。

语法:

size_type erase (const value_type& valueOfElementToBeDeleted);

以下是以上方法的实现:

// C++ program to delete an element
// of a Set by passing its value
 
#include <iostream>
#include <set>
using namespace std;
 
// Function to print the set
void printSet(set<int> myset)
{
    // Get the iterator
    set<int>::iterator it;
 
    // printing all the elements of the set
    for (it = myset.begin(); it != myset.end(); ++it)
        cout << ' ' << *it;
    cout << '\n';
}
 
// Function to delete the element of set
void deleteByValue(set<int> myset,
           int valueOfElementToBeDeleted)
{
    // printing all the elements of the set
    cout << "\nSet originally: ";
    printSet(myset);
 
    // Erase the element that is equal to
    // the value passed as the parameter
    myset.erase(valueOfElementToBeDeleted);
 
    // printing all the elements of the set
    cout << "Set after deleting "
         << valueOfElementToBeDeleted
         << ": ";
    printSet(myset);
}
 
// Driver code
int main()
{
    set<int> myset;
 
    // Get the set
    for (int i = 1; i < 10; i++)
        myset.insert(i * 10);
 
    // Get the valueOfElementToBeDeleted
    int valueOfElementToBeDeleted = 50;
 
    // Delete an element from the Set
    deleteByValue(myset, valueOfElementToBeDeleted);
 
    return 0;
}
//Java程序,通过传递其值删除集合中的元素
import java.io.*;
import java.util.*;
class GFG
{
 
  //打印集合
  static void printSet(TreeSet<Integer> myset)
  {
 
    //打印集合的所有元素
    for(int it : myset)
    {
      System.out.print(it + " ");
    }
    System.out.println();
  }
 
  //删除集合的元素
  static void deleteByValue(TreeSet<Integer> myset, 
                            int valueOfElementToBeDeleted)
  {
 
    //打印原始集合
    System.out.print("\n原集合:");
    printSet(myset);
 
    //删除与传递的值相等的元素
    myset.remove(valueOfElementToBeDeleted);
 
    //打印删除元素后的集合
    System.out.print("删除 " +
                     valueOfElementToBeDeleted +  " 后的集合:");
    printSet(myset);
  }
 
  //主函数
  public static void main (String[] args)
  {
 
    //Set<Integer> myset = new HashSet<Integer>();
    TreeSet<Integer> myset = new TreeSet<Integer>();
 
    //获取集合
    for (int i = 1; i < 10; i++)
    {
      myset.add(i * 10);
    }
 
    //获取要删除的元素的值
    int valueOfElementToBeDeleted = 50;
 
    //从集合中删除元素
    deleteByValue(myset, valueOfElementToBeDeleted);
  }
}
 
//avantitrachhadiya2155贡献的代码
# Python3程序,通过传递值删除集合中的元素
 
#函数打印集合中的所有元素
def printset(myset):
     
    for i in myset:
        print(i, end = " ")
    print()
 
#函数删除集合中的元素
def deleteByValue(myset, value):
     
    myset = sorted(myset)
     
    #打印原始集合值
    print("原集合:", end = " ")
    printset(myset)
     
    #删除与传递的值相等的元素
    myset.remove(value)
     
    #打印删除元素后的集合
    print("删除", value, "后的集合:", end = " ")
    printset(myset)
 
#主函数
myset = set()
 
for i in range(1, 10):
    myset.add(i * 10)
 
#获取要删除的元素的值
value = 50
 
#从集合中删除元素
deleteByValue(myset, value);
 
#Mohit Kumar 29的贡献
// C#程序删除Set中某个元素
// 通过传递它的值
using System;
using System.Collections.Generic;
public class GFG
{
 
  // 打印Set的函数
  static void printSet(HashSet<int> myset)
  {
 
    // 打印Set的所有元素
    foreach(int it in myset)
    {
      Console.Write(it + " ");
    }
    Console.WriteLine();
  }
 
  // 从set中删除元素的函数
  static void deleteByValue(HashSet<int> myset, int valueOfElementToBeDeleted)
  {
 
    // 打印Set的所有元素
    Console.Write("\nSet originally: ");
    printSet(myset);
 
    // 删除等于传递的参数值的元素
    myset.Remove(valueOfElementToBeDeleted);
 
    // 打印Set的所有元素
    Console.Write("Set after deleting " + valueOfElementToBeDeleted +  ": ");
    printSet(myset);
  }
 
  // 主函数
  static public void Main ()
  {
    //Set<Integer> myset = new HashSet<Integer>();
    HashSet<int> myset = new HashSet<int>();
 
    // 获取Set
    for (int i = 1; i < 10; i++)
    {
      myset.Add(i * 10);
    }
 
    // 获取要删除的元素的值
    int valueOfElementToBeDeleted = 50;
 
    // 从Set中删除一个元素
    deleteByValue(myset, valueOfElementToBeDeleted);
  }
}
 
// 该代码由rag2127贡献
<script>
 
// JavaScript程序删除Set中某个元素
// 通过传递它的值
 
 // 打印Set的函数
function printSet(myset)
{
    // 打印Set的所有元素
    for(let it of myset.values())
    {
      document.write(it + " ");
    }
    document.write("<br>");
}
 
 // 从set中删除元素的函数
function deleteByValue(myset, valueOfElementToBeDeleted)
{
    // 打印Set的所有元素
    document.write("<br>Set originally: ");
    printSet(myset);
  
    // 删除等于传递的参数值的元素
    myset.delete(valueOfElementToBeDeleted);
  
    // 打印Set的所有元素
    document.write("Set after deleting " +
                     valueOfElementToBeDeleted +  ": ");
    printSet(myset);
}
 
// 主函数
 
//Set<Integer> myset = new HashSet<Integer>();
    let myset = new Set();
  
    // 获取Set
    for (let i = 1; i < 10; i++)
    {
      myset.add(i * 10);
    }
  
    // 获取要删除的元素的值
    let valueOfElementToBeDeleted = 50;
  
    // 从Set中删除一个元素
    deleteByValue(myset, valueOfElementToBeDeleted);
 
 
// 该代码由patel2127贡献
 
</script> 

输出:

Set originally:  10 20 30 40 50 60 70 80 90
Set after deleting 50:  10 20 30 40 60 70 80 90

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程