| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1382 人关注过本帖
标题:帮帮忙
只看楼主 加入收藏
cygsslazio
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-11-20
收藏
 问题点数:0 回复次数:11 
帮帮忙
马上要交作业了 ,请各位高手帮帮忙,写一些下面的程序,传到我的邮箱里(cygsslazio@163.com)C++算法的实现

1 对元素类型为整型的顺序存储的线性表进行插入、删除和查找操作

2 分别就栈的顺序存储结构和链式存储结构实现栈的各种基本操作。

3 假设以带头结点的循环链表表示队列,并且只设一个指针指向对尾结点,不设头指针,试设计相应的置队空、入队和出队的程序。

4 试写出中序遍历二叉树的 递归算法 和 非递归算法。

5 写出中序线索二叉树的中序遍历算法。

6、实现基于有序顺序表的折半搜索。

7、设单链表的结点是按关键字的值从小到大排列的,试写出对此表的搜索程序并调试。

8 希尔排序算法的实现。

9 对图的邻接矩阵和邻接表表示分别进行深度优先搜索遍历算法的实现
搜索更多相关主题的帖子: 设计 blank target 二叉树 
2005-11-23 21:01
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 

这个不难,就是要点时间.


=×&D o I p R e E n C g T l X&×=
2005-11-23 21:16
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
你老师知道了会不会把我骂到吐血.

=×&D o I p R e E n C g T l X&×=
2005-11-23 21:20
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 

这是第一问:第二问编设中...
#include <iostream.h>
class Node
{
public:
int number;
Node* next;

Node(){ number=0;next=NULL;}

Node(int Number,Node*Next) {
number=Number;
next=Next;
}
};

class List
{
public:
int length;
Node* head;

List()
{
length=0;
head=NULL;
}

void AddFirst(int i) //插入链表元素
{
Node* node=new Node(i,head);
head=node;
length++;
}

void RemoveFirst() //删除链表元素
{
if(head!=NULL)
{
Node* first=head->next;
head=first;
length--;
}
}

Node* Find(int i) //查找链表元素
{
Node* node=head;
if(i<=length)
{
int count=1;
while(count<i)
{
node=node->next;
count++;
}
return node;
}
else
cout<<"没有这个元素\n";
}

void printList() //打印链表元素
{
Node* node=head;

while(node!=NULL)
{
cout<<node->number;
node=node->next;
}
}

};
main()
{
List list;
list.AddFirst(1);
list.AddFirst(2);
list.AddFirst(3);
list.AddFirst(4);
list.RemoveFirst();
cout<<list.Find(2)->number<<endl;
list.printList();
}

[此贴子已经被作者于2005-11-23 22:39:40编辑过]


=×&D o I p R e E n C g T l X&×=
2005-11-23 22:30
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 

第二问:第三问编设中...
#ifndef _stack_H_
#define _stack_H_

#include <iostream.h>
#include <stdlib.h>

template <class T>
class stack
{

public:
stack(); //默认构造函数
stack(const stack<T> &); //复制构造函数
virtual ~stack(); //择构函数

void push(T storage);
void pop(T & storage);
const T pop();
const T top() const;

void makeEmpty();

inline bool isEmpty() const;
inline int length() const;

const stack<T> & operator = (const stack<T> &);

protected:
struct node
{
T data;
node *next;
node() :next(0) {}
node(const T & a) :data(a), next(0) {}
} *sp;
int size;

};

template <class T>
stack<T>::stack() :sp(0), size(0)
{}

template <class T>
stack<T>::stack(const stack<T> &copy) :sp(0), size(0)
{
*this = copy;
}

template <class T>
stack<T>::~stack()
{
makeEmpty();
}

//在堆栈中增加一个元素
template <class T>
void stack<T>::push(T storage)
{
//create new data
node *newnode = new node;

newnode->next=sp;
newnode->data=storage;
sp = newnode;
++size;
}

//在堆栈中删除一个元素
template <class T>
void stack<T>::pop(T & storage)
{
if(isEmpty())
{
cerr << "\nError: accessing empty stack through method stack::pop\n";
exit(1);
}
//存储数据
storage = sp->data;

node *temp = sp;
sp = sp->next;
delete temp;
--size;
}

//在堆栈中删除一个元素,同时返回这个元素
template <class T>
const T stack<T>::pop()
{
T val;
pop(val);
return val;
}

template <class T>
const T stack<T>::top() const
{
if(isEmpty())
{
cerr << "\nError: accessing empty stack through method stack::top\n";
exit(1);
}

return sp->data;
}
//检测堆栈大小
template <class T>
int stack<T>::length() const
{
return size;
}
//把堆栈变为空
template <class T>
void stack<T>::makeEmpty()
{
node *temp;
while(sp!=0)
{
temp = sp;
sp = sp->next;
delete temp;
}
size = 0;
}
//检测堆栈是否为空
template <class T>
bool stack<T>::isEmpty() const
{
return size == 0;
}

template <class T>
const stack<T> & stack<T>::operator = (const stack<T> & copy)
{
makeEmpty();
if(copy.isEmpty())
return *this;

sp = new node(copy.sp->data);
node *newnode,*end = sp;
for(newnode = copy.sp->next; newnode; newnode = newnode->next)
{
end->next = new node(newnode->data);
end = end->next;
}
size = copy.size;
return *this;
}

#endif


=×&D o I p R e E n C g T l X&×=
2005-11-23 23:17
whq8073784
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-11-20
收藏
得分:0 

呵呵 
这些问题我没准也可以做出来只是的要时间 呵呵~!~!
等着吧~!~!

2005-11-25 22:09
cygsslazio
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-11-20
收藏
得分:0 
谢谢高手的帮助了
非常感谢
2005-11-28 16:29
cygsslazio
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-11-20
收藏
得分:0 
谢谢大家
2005-11-28 16:30
aolong
Rank: 1
等 级:新手上路
帖 子:248
专家分:0
注 册:2005-10-11
收藏
得分:0 
作业要自己做啊
不要什么都来要

奋斗之中,朦胧有你,一切已变的那么飘渺虚无...
2005-11-28 23:40
aolong
Rank: 1
等 级:新手上路
帖 子:248
专家分:0
注 册:2005-10-11
收藏
得分:0 
版主你也真是好了啊

奋斗之中,朦胧有你,一切已变的那么飘渺虚无...
2005-11-28 23:42
快速回复:帮帮忙
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032736 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved