链表查找以y链表查找为基准查找两链表查找中重复元素并删除合并,帮我修改一下代码

文档贡献者
该文档贡献者很忙,什么也没留下。
下载此文档
正在努力加载中...
数据结构课程设计--利用单链表编写一个学生成绩系统(具有查询成绩,修改成绩,删除成绩,添加.
文档星级:
内容提示:数据结构课程设计--利用单链表编写一个学生成绩系统(具有查询成绩,修改成绩,删除成绩,添加成绩,全班平均)
文档格式:DOC|
浏览次数:27|
上传日期: 20:14:33|
下载积分:
该用户还上传了这些文档
官方公共微信
下载文档:数据结构课程设计--利用单链表编写一个学生成绩系统(具有查询成绩,修改成绩,删除成绩,添加成绩,全班平均).DOC(精品)编程题 建立一个单链表,实现链表元素的定位,查找,插入,删除。(..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
(精品)编程题 建立一个单链表,实现链表元素的定位,查找,插入,删除。(数据【整理】
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口自己构造一个单向链表,并完成对该链表的增加,删除,查找函数,要求链表内的所有单元的值不能相同。_百度知道
自己构造一个单向链表,并完成对该链表的增加,删除,查找函数,要求链表内的所有单元的值不能相同。
求代码,,AppendKey(int key), 删除值为key的单元 void MyList,,DeleteKey(int key) 查找值为key的单元 找到返回true,,,否则返回false bool MyList,FindKey(int key),,失败(包括值冲突)返回false bool MyList,实现类 MyList 实现如下的类成员函数 增加新单元到链表 如果增加成功则返回true,
提问者采纳
printf(&quot,
list,n&#92,h&quot,}MyList,n&quot, } printf(&quot, pNode = m_Head, while(pNode) {
m_Head = m_Head-&gt,,
struct LNode *next, pNode = m_Head, } pNode = new struct LNode,#include &quot,next,++i) {
value = rand() % 1000,, } for(i = 0 ,stdlib,n&quot,h&quot, pNode = m_Head,
list, int value,&#92,
pNode = pNode-&gt,class MyList{public,ShowList(){ struct LNode *pNode,key = key,private, pNode = m_Head,}void MyList,next, } return false, MyList(), while(pNode) {
printf(&quot,key == key)
if(pPrev == NULL)
{&#47,~MyList(){ struct LNode *pNode = m_Head,如果有相同的就返回false
return false, return true, m_Head = pNode, }}bool MyList,}void main(){ MyList list, bool AppendKey(int key),++i) {
value = rand() % 1000,&#47,
pNode = m_Head,, void DeleteKey(int key), bool FindKey(int key),},,,i &lt, pPrev = NULL,&#47,估计是个初学者,,}void MyList,key == key)&#47,,next = pNode-&gt,
pPrev = pNode,next, struct LNode {
int key,ShowList(), }}bool MyList,
delete pNode,#include &quot,stdio,
pNode = pNode-&gt,, void ShowList(), 100,append %d to list&#92,
delete pNode,pNode-&gt,DeleteKey(value),
pNode = pNode-&gt,AppendKey(value),&#47,key== key)
return true,AppendKey(int key){ struct LNode *pNode, ~MyList(),
pNode = pNode-&gt,i,i &lt,*pPrev,要删除的是头节点
m_Head = m_Head-&gt,next, } *m_Head, pNode-&gt,
delete pNode,MyList, pNode-&gt,MyList(){ m_Head = NULL,key),
break, while(pNode) {
if(pNode-&gt,next,
{&#47,next,value), for(i = 0,next,),FindKey(int key){ struct LNode *pNode,非头节点
pPrev-&gt,next = m_Head,t&quot, 100,DeleteKey(int key){ struct LNode *pNode, }}, while(pNode) {
if(pNode-&gt, while(pNode) {
if(pNode-&gt,
list,%d&#92,之前我学数据结构的时候也为这个东西搞了好久,
能加点注释吗?呵呵我是新手有点看不懂谢谢了
#include &stdio.h&#include &stdlib.h&class MyList{public: MyList(); bool AppendKey(int key); //往链表中添加元素 void DeleteKey(int key); //删除表中key的元素 bool FindKey(int key);
//判断表中是否含key的元素 void ShowList();
//显示表中的所有元素 ~MyList();private: struct LNode {
struct LNode * } *m_H
//表头};//构造函数MyList::MyList(){//初始化表头 m_Head = NULL;}//析构函数MyList::~MyList(){//释放申请的内存空间 struct LNode *pNode = m_H while(pNode) {
m_Head = m_Head-&
pNode = m_H }}bool MyList::AppendKey(int key){ struct LNode *pN pNode = m_H while(pNode)//遍历链表 {
if(pNode-&key == key)//先查找表中有无相同的值,如果有相同的就返回false
pNode = pNode-& } //把新的节点插入表头 pNode = new struct LN pNode-&next = m_H pNode-&key = m_Head = pN }void MyList::DeleteKey(int key){ struct LNode *pNode,*pP pNode = m_H pPrev = NULL; while(pNode)//遍历整个表 {
if(pNode-&key == key)
if(pPrev == NULL)
{//要删除的是头节点
m_Head = m_Head-&
{//非头节点
pPrev-&next = pNode-&
pPrev = pN
pNode = pNode-& }}bool MyList::FindKey(int key){ struct LNode *pN pNode = m_H while(pNode)//遍历整个表 {
if(pNode-&key== key)//找到值相同的元素,返回true
pNode = pNode-& } //没找到值相同的元素,返回false}void MyList::ShowList(){ struct LNode *pN pNode = m_H while(pNode) {
printf(&%d\t&,pNode-&key);
pNode = pNode-& } printf(&\n\n&);}
提问者评价
非常感谢,谢谢您抽时间帮我解答问题!
其他类似问题
单向链表的相关知识
其他1条回答
自己写吧~有List还写费劲不~,
不会写啊~~~~(&_&)~~~~
你写他干什么啊,写出来的性能也未必会比它提供的好。没有必要在这上面浪费时间啊。多去做些应用啊。
没办法这是出的题目啊我也不想写....!!
看看这个吧,简单import java.util.AbstractLimport java.util.Aimport java.util.Iimport java.util.Lpublic class ListImp extends AbstractList implements List { //创建一个数组用来存储数据 private Object [] obj = //集合的长度 private int size = 0; //控制新生成数组的长度的变量 private int count=1 ;
public ListImp(int a){
obj = new Object[a]; }public ListImp(){
this(10); }@Override public Object get(int index) {
checkValue(index);
return obj[index]; }
@Override public int size() {
return obj.length-1; }private void checkValue(int index){
if(index&size||index&0){
new IndexOutOfBoundsException();
public boolean add(Object e){
obj[count-1] =
Object [] o = Arrays.copyOf(obj,++count);
public Object remove(int index){
Object object = obj[index];
obj[index] =
obj = Arrays.copyOf(obj, size()); }public void clearAll(){
要求要用c++语言..........
汗,C++不太会啊,不过应该和JAVA是差不多的。~~
呵呵c++我也不太会........郁闷了!!
晕不让贴代码,代码太长了。帮你找了一个。
发我qq邮箱吧
贴出来希望对你能有用, 你可以跑下这个程序试试。#include &iostream& #include &list& #include &numeric& #include &algorithm&
//创建一个list容器的实例LISTINT typedef list&int& LISTINT; //创建一个list容器的实例LISTCHAR typedef list&int& LISTCHAR; void main(void) {
//--------------------------
//用list容器处理整型数据
//--------------------------
//用LISTINT创建一个名为listOne的list对象
LISTINT listO
//声明i为迭代器
//从前面向listOne容器中添加数据
listOne.push_front (2);
listOne.push_front (1);
//从后面向listOne容器中添加数据
listOne.push_back (3);
listOne.push_back (4);
//从前向后显示listOne中的数据
cout&&&listOne.begin()--- listOne.end():&&&
for (i = listOne.begin(); i != listOne.end(); ++i)
cout && *i && & &;
//从后向后显示listOne中的数据
LISTINT::reverse_
cout&&&listOne.rbegin()---listOne.rend():&&&
for (ir =listOne.rbegin(); ir!=listOne.rend();ir++) {
cout && *ir && & &;
//使用STL的accumulate(累加)算法
int result = accumulate(listOne.begin(), listOne.end(),0);
cout&&&Sum=&&&result&&
cout&&&------------------&&&
//--------------------------
//用list容器处理字符型数据
//--------------------------
等待您来回答
您可能关注的推广回答者:
下载知道APP
随时随地咨询
出门在外也不愁已知有一个循环双链表,p指向第一个元素为x的节点,设计一个算法,从该循环双链表中删除*p结点 - 下载频道
- CSDN.NET
&&&&已知有一个循环双链表,p指向第一个元素为x的节点,设计一个算法,从该循环双链表中删除*p结点
已知有一个循环双链表,p指向第一个元素为x的节点,设计一个算法,从该循环双链表中删除*p结点
内存中一片连续空间(不妨假设地址从1到m),提供给两个栈S1和S2使用,怎样分配这部分存储空间,使得对任一个栈,仅当这部分空间全满时才发生上溢。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
课程资源下载排行

我要回帖

更多关于 循环链表 的文章

 

随机推荐