编写一个函数删除指定获取list集合中的元素一个元素

C语言~要求编写⼀个函数:将一个字符串中相同的元素删除,并在main()中调⽤用,并输出._百度知道
C语言~要求编写⼀个函数:将一个字符串中相同的元素删除,并在main()中调⽤用,并输出.
!怎么找相同元素= = 找到了怎么删除啊。跪求大神
提问者采纳
*p){&//vc++6;&&&&\0&#39.;&nbsp.h&&&#include&&&&&&amp,q);&nbsp.0加上这一行;&&);}&&&&&&&&&nbsp.;Application&&&&nbsp.\n&&&&&&nbsp,k;&&;&for(k=i=0;q[k++]=p[i];&&j++)&&*q;&&&&memory&&&&&&i;&&&&&strcpy(p;&&&nbsp.h&&&nbsp,myfun(a));&p[j];}int&*myfun(char&&&}&&&&nbsp.#include&if(;&nbsp.h&&&&*)malloc(strlen(p)+1))==NULL){&&&if(p[j]==p[i]&nbsp.h&quot!p[j])&&q[k]='exit(0);&&for(j=0;&&&&&&&&&&&&&&char&0;printf(&&&&#include&&nbsp//#include&&i;&&char&;&&&&%s\n&printf(&&&&&&jfkdslayu8e0hgvfjaksdlghjalyu84lhgx76&&&i++){&&nbsp!=j)&&p[i];&&if((q=(char&&a[]=&return&&&&&&free(q);char&int&;&&&return&&p;&&&&main(void){&nbsp,j;&nbsp
提问者评价
其他类似问题
为您推荐:
其他1条回答
;a&&void&#include&&1;&&=&&del_dup_elem(str);&quot!=&str[256]&; int&char*&&main(){ & } *st&=&&0)&&&&set[257]&&
set[*p]&=&;printf(&);&&&string.h&*p;\0&#39:&==&;{0};}int&&%s\n&\0'&&#39,&input&&=&p&char&
++&&st&nbsp.h&=&&&=&&#include&del_dup_elem(char*&str),& while(*p&&nbsp.h&
*st&0;=&str){&&&str);& char*&&&' return&) {
if(set[*p]&
++p;&%s&&{0};scanf(&&printf(&quot#include&nbsp
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Java中如何删除一个集合中的多个元素
&今天我需要从一个java的集合中,根据另一个集合的内容,删除第一个集合中不特定的元素。这看上去非常简单,但却遇到了问题。这就是“中如何删除一个集合中的多个元素”的问题。&这是我要写的方法的头部&private void screenBlackNameList(List&SharedBoardSmsWrapper& source, List&BlackNameListModel& blackNameList)&事情是这样子的。source集合中保存了一些显示用的数据元素。blackNameList集合中保存的是黑名单列表。我们需要根据黑名单表,把source集合中黑名单用户的数据剔除掉。&这个问题的解决看上去非常简单。&我首先使用for each 语句进行删除。&for(SharedBoardSmsWrapper tmpSharedBoardSmsWrapper:source){&&&&&& &&&&&&& for(BlackNameListModel tmpBlackNameListModel:blackNameList){&&&&&&&&&&& if(tmpSharedBoardSmsWrapper.getSource().equals(tmpBlackNameListModel.getSource())){&&&&&&&&&&&&&& source.remove(tmpSharedBoardSmsWrapper);&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&& &&&&&&& }&&& }&非常简单的问题!我暗笑,测试…令我意外的是,这段代码居然抛出了异常java.util.ConcurrentModificationException。&查看JDK6手册&public class ConcurrentModificationExceptionextends RuntimeException当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。例如,某个线程在 Collection 上进行迭代时,通常不允许另一个线性修改该 Collection。通常在这些情况下,迭代的结果是不确定的。如果检测到这种行为,一些迭代器实现(包括 JRE 提供的所有通用 collection 实现)可能选择抛出此异常。执行该操作的迭代器称为快速失败 迭代器,因为迭代器很快就完全失败,而不会冒着在将来某个时间任意发生不确定行为的风险。注意,此异常不会始终指出对象已经由不同 线程并发修改。如果单线程发出违反对象协定的方法调用序列,则该对象可能抛出此异常。例如,如果线程使用快速失败迭代器在 collection 上迭代时直接修改该 collection,则迭代器将抛出此异常。注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败操作会尽最大努力抛出 ConcurrentModificationException。因此,为提高此类操作的正确性而编写一个依赖于此异常的程序是错误的做法,正确做法是:ConcurrentModificationException 应该仅用于检测 bug。&&& Java中的For each实际上使用的是iterator进行处理的。而iterator是不允许集合在iterator使用期间删除的。而我在for each时,从集合中删除了一个元素,这导致了iterator抛出了ConcurrentModificationException。&&看来只有老老实实使用传统的for循环了!&&&& for(int i=0;i&source.size();i++){&&&&&&& SharedBoardSmsWrapper tmpSharedBoardSmsWrapper=source.get(i);&&&&&&& for(int j=0;j&blackNameList.size();j++){&&&&&&&&&&& BlackNameListModel tmpBlackNameListModel=blackNameList.get(j);&&&&&&&&&&& if(tmpSharedBoardSmsWrapper.getSource().equals(tmpBlackNameListModel.getSource())){&&&&&&&&&&&&&& source.remove(tmpSharedBoardSmsWrapper);&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&& &&&&&&& }&&&&&& &&& }&这下应该没问题了吧!信心满满地按下测试…晕!怎么回事,数据怎么过滤得不对?&Debug跟踪后发现,原来,集合删除元素时,集合的size会变小,连带索引都会改变!这可怎么办?我不会被这样一个小问题搞得没辙了吧!&使用Iterator删除集合中的元素&查看JDK手册的Iterator接口,看到它还有一个remove方法。removevoid remove()从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。每次调用 next 只能调用一次此方法。如果进行迭代时用调用此方法之外的其他方式修改了该迭代器所指向的 collection,则迭代器的行为是不确定的。抛出:UnsupportedOperationException - 如果迭代器不支持 remove 操作。IllegalStateException - 如果尚未调用 next 方法,或者在上一次调用 next 方法之后已经调用了 remove 方法。&&&&&&正确的最终代码:/**&&&& &&&& &&&& */&&& privatevoid screenBlackNameList(List&SharedBoardSmsWrapper& source, List&BlackNameListModel& blackNameList){&&& Iterator&SharedBoardSmsWrapper& sourceIt=source.iterator();&& &&& while(sourceIt.hasNext()){&&&&&&& SharedBoardSmsWrapper tmpSharedBoardSmsWrapper=sourceIt.next();&&&&&&& Iterator&BlackNameListModel& blackNameListIt=blackNameList.iterator();&&&&&&& while(blackNameListIt.hasNext()){&&&&&&&&&&& BlackNameListModel tmpBlackNameListModel=blackNameListIt.next();&&&&&&&&&& if(tmpSharedBoardSmsWrapper.getSource().equals(tmpBlackNameListModel.getSource())){&&&&&&&&&&&&&& sourceIt.remove();&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&& &&&&&&& }&&&&&& &&& }&& &&& }&&注意,一次Iterator的next()方法,不能多次调用remove()方法。否则会抛出异常。&&&&& 看来,删除集合中的元素,最简单的方法,就是使用Iterator的remove()方法了!&&让我们看看ArrayList类提供的Iterator是怎样实现的。&privateclass Itr implements Iterator&E& {&&& /**这是元素的索引,相当于一个指针,或者游标,利用它来访问List的数据元素。&&&& *Indexofelementtobereturnedbysubsequentcalltonext.&&&& */&&& intcursor = 0;&&&& /**&&&& *Indexofelementreturnedbymostrecentcalltonextor&&&& *previous. Resetto-1ifthiselementisdeletedbyacall&&&& *toremove.最新元素的索引。如果已经删除了该元素,就设为-1&&&& */&&& intlastRet = -1;&&&& /**外部类ArrayList的属性:protected transient int modCount = 0;&&& 它用于观察ArrayList是否同时在被其他线程修改,如果不一致,那么就会抛出同步异常。&&&& *ThemodCountvaluethattheiteratorbelievesthatthebacking&&&& *Listshouldhave. Ifthisexpectationisviolated,theiterator&&&& *hasdetectedconcurrentmodification.&&&& */&&& intexpectedModCount = modC//如果游标没有达到List的尺寸,那么就还有元素。&&& publicboolean hasNext() {&&&&&&&&&&& returncursor != size();&&&nb
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'编写一个从指定的字符串中删除给定字符的函数delch._百度知道
编写一个从指定的字符串中删除给定字符的函数delch.
" target="_blank">www,结果为“”.cn”,指定删除的字母为u.ed://www.ed.sse://www
提问者采纳
&&&str[i];&&&&=&&char&*s&&&&&&&&&&\0'&&&&&&if(str[i];&&delch(char&&&&&&&i=0;=&nbsp!=c){&i++){&&&&;c){&nbsp!='&&&\0'&&&for(int&}&}&&&&*s&&str[i];;'&&=&&&&&nbspchar&c;return&&nbsp,char&&*s&&&&s++;str[]
这是一个填空题,#include&stdio.h&char delch(char str[],char c){这里是空}main(){char string[20],gets(string);scanf(&%c&,&ch);delch(string,ch);puts(string);}
char&*s&=&&&&&for(int&i=0;str[i]!='\0';i++){&&&&&&&&if(str[i]!=c){&&&&&&&&&&&&*s&=&str[i];&&&&&&&&&&&&s++;&&&&&&&&}&}*s&=&'\0';return&c;你把这填到空里就行了。
提问者评价
那就谢谢了!
来自团队:
其他类似问题
为您推荐:
字符串的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Java中怎样从泛型集合中删除指定元素?_百度知道
Java中怎样从泛型集合中删除指定元素?
java中从泛型集合中删除指定元素,主要是使用集合的remove方法,示例如下:import&java.util.ArrayLimport&java.util.Lpublic&class&ceshi&{ public&static&void&main(String[]&args)&throws&Exception&{
List&String&&li&=&new&ArrayList&String&();
li.add(&第一个元素&);
li.add(&第二个元素&);
li.add(&第三个元素&);
li.add(&第四个元素&);
//&打印list泛型集合的所有元素
for&(String&string&:&li)&{
System.out.println(string);
//&下面删除指定的第三个元素
li.remove(2);
System.out.println(&============\n&);
//&重新打印list泛型集合的所有元素
for&(String&string&:&li)&{
System.out.println(string);
} }}运行结果如下:
其他类似问题
为您推荐:
提问者采纳
什么类型的集合?list? map?
List中提供了remove(int index)和remove(Object object)方法。可以按照指定的索引值删除,也可以按照指定的元素删除;Map中只有remove(Object key)方法,只能按照键值对中的key删除
提问者评价
泛型的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁举例1:数学⑴ 识别最基本的元素的集合,既是基本的数学逻辑运算方法以及函数;⑵ 根据需求从算法的集合中剪裁出形成新事物需要的元素,确定所需的计算准则和方
楼主正文显示宽度
跟帖显示为
本帖只代表的个人观点,不代表人民网观点。 如将本文用于其他媒体出版, 请与联系。举报
微信扫一扫分享本帖到朋友圈
微信扫一扫分享本帖到朋友圈
图文编辑模式
20:36:55&)
1079字(2367/57)
( 15:51:33)
109字(21/0)
( 12:14:04)
65字(19/0)
( 12:08:58)
22字(14/0)
( 12:03:25)
54字(13/0)
( 11:06:26)
37字(20/0)
( 09:13:12)
369字(35/0)
( 09:12:30)
438字(15/0)
( 09:12:11)
420字(14/0)
( 09:11:50)
415字(17/0)
( 09:11:31)
417字(11/0)
( 09:11:12)
395字(13/0)
( 09:10:47)
288字(14/0)
( 09:10:11)
357字(10/0)
( 09:09:08)
264字(14/0)
( 09:08:24)
288字(14/0)
( 09:07:59)
345字(18/0)
( 09:07:07)
289字(13/0)
( 09:06:27)
310字(16/0)
( 09:06:03)
284字(18/0)
( 08:46:04)
370字(17/0)
( 08:44:37)
293字(18/0)
( 08:42:16)
101字(18/0)
( 19:50:02)
38字(19/0)
( 16:31:44)
10字(12/0)
( 14:00:21)
( 13:39:02)
39字(18/0)
( 11:38:48)
223字(23/0)
( 11:16:46)
180字(42/1)
( 23:19:03)
56字(20/0)
( 11:10:17)
80字(15/0)
( 09:59:06)
97字(23/0)
( 08:50:15)
62字(21/0)
( 08:42:00)
( 07:42:33)
115字(22/0)
( 22:01:26)
70字(17/0)
( 21:47:35)
78字(20/0)
( 16:59:28)
238字(39/0)
( 16:25:34)
235字(15/0)
( 16:13:46)
509字(44/0)
( 13:33:39)
34字(25/0)
( 13:04:05)
49字(32/0)
( 13:04:05)
49字(17/0)
( 12:24:52)
60字(23/0)
( 11:18:33)
21字(16/0)
( 11:00:38)
63字(45/0)
( 10:52:10)
60字(21/0)
( 08:28:45)
47字(48/0)
( 08:13:40)
49字(32/0)
( 08:11:49)
76字(18/0)
( 07:47:10)
44字(18/0)
( 07:47:07)
236字(37/0)
( 00:32:56)
80字(14/0)
( 23:22:57)
324字(25/0)
( 21:28:44)
14字(18/0)
( 21:17:34)
114字(49/1)
( 14:07:18)
35字(35/0)
( 21:13:24)
14字(26/0)
请登录后继续操作....
强国社区-人民网}

我要回帖

更多关于 集合元素 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信