请C语言高手帮我编写几个数据结构的小程序~(一定要用C++编写噢~)谢啦~

题目11:按照下列要求建立单链表,编写程序实现
(1)按照尾插入法建立不带头结点的单链表,并输出此单链表。
(2)按照尾插入法建立一个带头结点的单链表,并输出此单链表。
题目12:假设L为带头结点的单链表,表中元素值递增有序,编写程序删除表中值相同的多余元素。
题目13:编写程序,实现循环队列上的下列操作,
(1)判断队列是否为空;
(2)取对头元素;
(3)队尾插入元素;
(4)队头删除元素

#include"stdio.h"
#include"malloc.h"
#define MaxSize 10
typedef char ElemType ;
typedef struct
{
ElemType data[MaxSize]; int front,rear;
}SqQueue;

void InitQueue(SqQueue *&q) //初始化队列
{
q=(SqQueue *)malloc(sizeof(SqQueue));
q->front=q->rear=0;
}

void ClearQueue(SqQueue *&q) //销毁队列
{ free(q); }

int QueueEmpty(SqQueue *q) //判断队列是否为空
{ return(q->front==q->rear); }

int enQueue(SqQueue *&q,ElemType e) //入队列
{
if((q->rear+1)%MaxSize==q->front) return 0;
q->rear=(q->rear+1)%MaxSize;
q->data[q->rear]=e; return 1;
}

int deQueue(SqQueue *&q,ElemType &e) //出队列
{
if(q->front==q->rear) return 0;
q->front=(q->front+1)%MaxSize;
e=q->data[q->front]; return 1;
}

void numQueue(SqQueue *q) //输出队列元素个数
{
if(q->rear>=q->front)
printf("这个队列的元素个数为:%d\n",q->rear-q->front);
else
printf("这个队列的元素个数为:%d\n",MaxSize-q->front+q->rear);
}

void DispQueue(SqQueue *q) //输出队列
{
int i=0,f=q->front+1;
while((f+MaxSize)%MaxSize!=q->rear)
{
printf("%c\t",q->data[f]);
f++; i++;
if(i%5==0)printf("\n");
}
printf("%c\n",q->data[f]);

}

void main()
{
SqQueue *q;
ElemType e;
InitQueue(q);
if(QueueEmpty(q))printf("这个队列是空的!\n");
else printf("这个队列不是空的!\n");
enQueue(q,'a'); enQueue(q,'b'); enQueue(q,'c');
if(deQueue(q,e)==1)
printf("出对元素为:%c\n此时",e);
numQueue(q);
enQueue(q,'d'); enQueue(q,'e'); enQueue(q,'f');
printf("def进队列后,");
numQueue(q);
printf("它的元素有:\n");
DispQueue(q);
ClearQueue(q);
}

这是我以前的作业,你自己组织下,应该可以解决你的问题
温馨提示:内容为网友见解,仅供参考
无其他回答

请C语言高手帮我编写几个数据结构的小程序~(一定要用C++编写噢~)谢啦...
void numQueue(SqQueue *q) \/\/输出队列元素个数 { if(q->rear>=q->front)printf("这个队列的元素个数为:%d\\n",q->rear-q->front);else printf("这个队列的元素个数为:%d\\n",MaxSize-q->front+q->rear);} void DispQueue(SqQueue *q) \/\/输出队列 { int i=0,f=q->front...

请C语言高手帮我编写几个小程序~(一定要用C++编写噢~)
InitList(C);i=j=1; k=0;la_len=ListLength(A);lb_len=ListLength(B);while((i<=la_len)&&(j<=lb_len)){ GetElem(A,i,ai);GetElem(B,i,bi);if(ai<=bj){ ListInsert(C,++k,ai); ++i;} else ListInsert(C,++k,bj); ++j;} } while(i<=la_len){ GetElem(A,i++...

编程高手帮我解决个小问题吧,谢谢啦、是作业题,用c++语言编写
程序全部经过调试,请放心使用

用C语言编写小游戏
#define ESC 0x011b \/* ESC键值*\/#define ENTER 0x1c0d \/* 回车键值*\/int a[8][8]={0},key,score1,score2;\/*具体分数以及按键与存放棋子的变量*\/char playone[3],playtwo[3];\/*两个人的得分转换成字符串输出*\/void playtoplay(void);\/*人人对战函数*\/void DrawQp(void);\/*画棋盘函数*\/v...

请求好心~~C语言高手帮忙编写下~~~谢谢~
我的 请求好心~~C语言高手帮忙编写下~~~谢谢~ 二、航空订票系统1.航班管理:每个航班信息包括航班号,飞机号,目的地,订票数,余票数等.假设现在有3条航线,目的地分别是上海、广州和武汉,每条航线上只有一架飞机,飞机上可乘... 二、航空订票系统 1.航班管理:每个航班信息包括航班号,飞机号,目的地,订票数,余...

C++求高手帮忙写个程序...输出“生日快乐”四个字..用符号拼出来..谢 ...
采纳率:40% 来自:芝麻团 擅长: C\/C++ 数据结构及算法 嵌入式 汇编语言 其他回答 printf自己设计就行。。。自己设计的就是自己喜欢的。。。 wzhzhg | 发布于2012-04-05 举报| 评论 0 0 用汉字多好 大地测量专家 | 发布于2012-03-30 举报| 评论 1 0 为...

一个C++的程序设计题目,需要编写至少100行,最好能有说明,考试题目,急...
请选择系统功能项:a 学生基本信息录入b 学生基本信息显示c 学生基本信息保存d 学生基本信息删除e 学生基本信息修改(要求先输入密码)f 学生基本信息查询(1)按学号查询(2)按姓名查询(3)按性别查询(4)按年龄查询g. 退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。(4)将学生基本信息保存到文件中。(5)...

用VC++6.0编写C语言程序具体步骤
2.继续单击"文件",选择"新建",然后在弹出的窗口中选择"文件",在下面的栏目中选择"C++ Source File",单击"确定";3.完成代码的书写;4.在"组建"一栏中选择"编译",继续在"组建"一栏中选择"全部重建",最后选择"执行";这样就是一个简单的在空白工程下建立的一个小程序^希望对你有些帮助....

急急!!用数据结构和C语言(别使用C++) 编写图书信息管理系统代码_百度...
p2->next=NULL;\/*最后一个结点的后继指针为空*\/ p1=head;\/*p1等于头指针*\/ head=p1->next;\/*头指针等于p1所指向的下一个*\/ free(p1);\/*释放出p1的空间*\/ printf("\\n\\tInput over!");\/*打印输入结束*\/ ch=getchar();\/*输入字符*\/ return head;\/*返回首部*\/}\/*储存图书信息*\/ ...

如何用C++编写软件
2,学习了数据结构怎么应用到编写程序里去,我不会。学校里没有学到这样的,可以给我举个例子么,这个用的例子还是很多的,向数据结构中的链表, 百度上就有很多人问如何去写一个学生信息管理程序, 其实你如果学过链表,就可以使用链表来做, 每个学生是一个节点, 可以向链表中添加,删除,学生信息等.....

相似回答