定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。要反转一个单链表也就是使链表中的结点逆置,但并不是遍历链表每一次都将结点重新创建进行头插,这样就是重新创建一个单链表了而不是将原有的单链表逆置;因此,可以想到用多个指针来操控,既要防止..
分类:
其他好文 时间:
2016-05-14 17:07:00
阅读次数:
161
要求大家按照课件中的方式定义链表数据结构,链表的成员函数自己定义,有哪些功能也自己定义,但是必须有如下两个函数:
返回链表中最小的元素:Type SeqList::Get_Min();//使用非递归方式
将链表中元素逆置:List::reverse();//使用递归和非递归两种方式,非递归方式只允许常数单位个额外空间
设计主函数,主函数中能够对所作函数进行测试,并且能够将链表中最小值找到,将链表...
分类:
其他好文 时间:
2016-05-13 03:10:43
阅读次数:
118
题目:输入一个链表的头节点,从头到尾反过来打印出每个节点的值
Reverse()函数:输入头结点,可输出的确是从尾到头;即第一个输入的节点,最后一个输出;最后一个输入的结点,第一个输出;很典型的“后进先出“;用桟实现;
1、将结点放进桟中,当结点全遍历一遍时,链表已经反过来,
2、此时再从桟顶逐个输出结点的值
Reverse2()函数:递归本质就是桟结构;则用_Reverse2(_...
分类:
其他好文 时间:
2016-05-12 18:40:26
阅读次数:
128
从尾到头打印单链表voidFromTailToHeadPrint(SListNode*&head)
{
stack<SListNode*>s;
SListNode*cur=head;
while(cur)
{
s.push(cur);
cur=cur->_next;
}
while(!s.empty())
{
cout<<s.top()->_data<<"->";
s.pop();
}
cout<<""<<..
分类:
编程语言 时间:
2016-05-11 19:59:40
阅读次数:
361
//约瑟夫环问题
PSListNodeJosephCircle(PSListNodepHead,intM);
//单链表逆置:两种方法都实现:一、三个指针二、尾插发
voidReverseList(PSListNode*pHead);
//单链表排序:冒泡(优化版本)
voidSortList(PSListNodepHead);
//查找链表的倒数第K个结点
PSListNodeFindLastK..
分类:
其他好文 时间:
2016-05-08 01:18:06
阅读次数:
179
给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据与依次为2、4、6、8、10,逆置后,从头至尾结点数据依次为10、8、6、4、2。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 试题程序。 答案: 你的答案 (正确) 1 next 2 N ...
分类:
其他好文 时间:
2016-05-02 21:11:06
阅读次数:
164
源码补码反码数组定义,初始化,使用,随机数找最大数,逆置,冒泡排序,scanf输入字符串字符串处理字符串溢出等问题scanf()gets()puts()fputs()strlen()strcat()strncat()strcmp()strncmp()strchr()strstr()strtok()atoi()atof()atol()C字符串数组定义数组遍历输出数组每个元..
分类:
编程语言 时间:
2016-05-02 17:13:35
阅读次数:
450
今天在写个小的十进制转换程序时,遇到个问题就是关于vector容器的逆序访问问题,后来知道其中有多种方法可以解决,下面介绍我应用的两种简单方法,顺便熟悉一下vector容器的相关函数。下面是相关代码: 程序中用蓝色和黄色标记的分别是两种不同的方法,第一种利用的是逆置迭代器,要注意逆置迭代器的初始化。 ...
分类:
编程语言 时间:
2016-05-02 16:58:31
阅读次数:
450
逆置:
使用递归
//考虑递归算法,若只有一个结点,则直接返回,若存在两个结点(a1,a2)则需要做的操作有:
//a2->next=a1;a1->next=NULL;return a2;
//a2即新的头结点,若有三个结点,则应先将子链(a2,a3)先逆置且返回该子链的新的头结点,然后把子链(a2,a3)当作一个复合结点a2',
//组成新的二元组(a1,a2')然后就可以执行前...
分类:
编程语言 时间:
2016-05-02 07:12:15
阅读次数:
328
//GCC编译方式:C:\MinGW\project>gcc-std=c99main.c
//编码环境GBK
#include<stdio.h>
intmain(){
intarray[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}};
//遍历二维数组,并打印
for(inti=0;i<3;i++){
for(intj=0;j<4;j++){
printf("array[%d][%d]=%d\n..
分类:
编程语言 时间:
2016-05-01 17:52:36
阅读次数:
228