如何利用个人nas做网站,安新建设局网站,公司内部网络怎么建立,域名和网站关联引言
周期按我也写过类似链表反转的文章#xff0c;这个链表反转是在第二次写的时候写的#xff0c;由于都是靠当时的思路#xff0c;两个在代码实现上有所差异#xff0c;仅以记录。
示例
编程环境
在vs2010下编写的C控制台输出程序#xff0c;文件名由main.cpp改为t…引言
周期按我也写过类似链表反转的文章这个链表反转是在第二次写的时候写的由于都是靠当时的思路两个在代码实现上有所差异仅以记录。
示例
编程环境
在vs2010下编写的C控制台输出程序文件名由main.cpp改为testReverseList2.cpp其它默认生成。
代码实现
下面是testReverseList2.cpp中的代码实现。
// testReverseList2.cpp : 定义控制台应用程序的入口点。
//#include stdafx.h
#include iostream
#include vector
#include stdlib.husing namespace std;/************************************************************************/
/* 功能
stuList *reverseList(stuList *ph) 将链表反转返回指向反转后的链表
stuList * createList(vectorint nVec) 创建链表返回创建的链表
void outPut(vectorint vec) 输出动态数组中的元素
void fromControlGetNum(vectorint nVec) 控制台输入数值存入到动态数组中直到输入回车键停止输入
void outPutList(stuList *ph) 输出链表中结点的值*/
/************************************************************************/struct stuList{int data;stuList *pNext;
};stuList * createList(vectorint nVec){int nSize nVec.size();int i 0;stuList *ph,*pPre,*pCur;while (i nSize){pCur new stuList;if (pCur){pCur-data nVec[i];pCur-pNext nullptr;if(i 0){ph pCur;pPre pCur;}else{pPre-pNext pCur;pPre pCur;}i;}}return ph;
}stuList *reverseList(stuList *ph){stuList *pCur,*pPre,*pFont;int i 0;pPre ph;pCur ph-pNext;if(pCur-pNext ! nullptr){//3个或者3个以上结点pFont pCur-pNext;while (pFont ! nullptr){if(i 0){pPre-pNext nullptr;}pCur-pNext pPre;pPre pCur;pCur pFont;if (pFont-pNext ! nullptr){pFont pFont-pNext;} else{pCur-pNext pPre;break;}i;}}else{//只有2个结点pPre-pNext nullptr;pCur-pNext pPre;}return pCur;
}void outPut(vectorint vec){for (int i 0; i vec.size(); i){coutvec[i]\t;}coutendl;
}void fromControlGetNum(vectorint nVec){int num;cout请输入创建链表的值endl;do {cinnum;nVec.push_back(num);} while (cin.get() ! \n);//当输入回车的时候停止输入但是前一个为空格再回车就不能结束输入
}void outPutList(stuList *ph){while (ph ! nullptr){coutph-data\t;ph ph-pNext;}coutendl;
}int _tmain(int argc, _TCHAR* argv[])
{vectorint nVec;fromControlGetNum(nVec);cout输入的数组输出如下endl;outPut(nVec);stuList * phList createList(nVec);cout链表输出如下endl;outPutList(phList);stuList *pReList reverseList(phList);cout链表反转后输出如下endl;outPutList(pReList);system(pause);return 0;
}运行结果
创建2个结点的链表输出结果 输入3个或者多于3个结点的链表的输出结果