只有一个指针(公),一个数据项(私),把头变成尾,尾变成头!
拜托!
拜托!
解决方案 »
- MFC如何实现点击一个界面上的按钮,可以弹出另外一个编写好的界面,并且让我对另外一个界面进行数据输入等操作
- 求助打开office崩溃
- VC 中使用时间日期选择器获取时间出现问题
- 怎样释放在CXXXXDlg类的构造函数中动态分配的内存
- 请问如何将Date and Time Picker的内容设置为只读的?
- 我把VC6写的类在VC7下调用,我的项目名AAA,错误如下,忘指点,谢谢
- 我在程序中设置了一个子窗体对话框IDD_DATADIALOG,并把它联入一个新类CRecordView,用于和数据库文件的数据交换。可是这时的IDD_DATAD
- 用函数DrawDibDraw显示视频,默认的调色板是什么呢?
- CreateDirectory创建二级目录时返回TRUE但没有生成目录
- 如何用VC在窗口的右上角嵌入一个动画图标,类似于IE里,菜单栏右侧的“小地球”?
- release的exe在别人的机器上不能用
- 如何把一个视频窗口用一幅透明位图盖起来, 急呀...
{
int nData;
DATA* pNext;
};DATA* Invert(DATA* pHead)
{
DATA* pTmp = pHead;
DATA* pInvertHead = pHead;
DATA* pInvertNext = pHead;
while(pTmp!=NULL)
{
pInvertNext = pInvertHead;
pInvertHead = pTmp;
pTmp = pTmp->pNext; if(pInvertHead==pHead)
{
pInvertHead->pNext = NULL;
}
else
{
pInvertHead->pNext = pInvertNext;
}
}
return pInvertHead;
}
void main(int arn, char* arv[])
{
DATA d1, d2, d3;
d1.nData = 1;
d1.pNext = &d2;
d2.nData = 2;
d2.pNext = &d3;
d3.nData = 3;
d3.pNext = NULL;
DATA* pH = &d1;
while(pH!=NULL)
{
printf("%d\n", pH->nData);
pH = pH->pNext;
} pH = &d1;
pH = Invert(pH); while(pH!=NULL)
{
printf("%d\n", pH->nData);
pH = pH->pNext;
}}
template<class T>
void Sqlist<T>::reverse()
{
if(nLength<2) // 如果链表为空或者只有一个结点时不作翻转
return;
Node *p,*q,*r; // 构造三个临时辅助结点
p = pLast->next; // p 指向尾结点的后继结点
q = pHead->next; // q 指向第一个有效结点
r = q->next; // r 指向q的后继结点
pHead->next = pLast; // 虚头结点指向尾结点
pLast = q; // 尾结点指向第一个有效结点
for(int i=0;i<nLength;i++)
{
q->next = p; // q的后继结点改为p(后继指针指向前驱)
p = q; // 用p结点记下q结点
q = r; // q结点右移一个位置
if(i!=nLength-1) // r结点右移一个位置(最后一次不能右移)
r = r->next;
}
}