操作链表
来源:互联网 发布:cuda centos 安装 编辑:程序博客网 时间:2024/05/02 08:47
// Prime C.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<iostream>
using namespace std;
typedef struct Link
{
int ia;
struct Link* next;
}LinkNode;
LinkNode* InlitializeLink(int a[] , int n)
{
int i = 0;
LinkNode* head = new LinkNode;
head->ia = a[i];
head->next = NULL;
LinkNode* p = head;
for (int i = 1; i < n; i++)
{
LinkNode* q = new LinkNode;
q->ia = a[i];
q->next = NULL;
p->next = q;
p = q;
}
return head;
}
void OutPutLink(LinkNode* head)
{
LinkNode* p = head;
LinkNode* q = p;
while(NULL != p)
{
cout<<p->ia<<"---->";
q = p;
p = p->next;
delete q;
}
}
int SearchNode(LinkNode* head, int k)
{
LinkNode* p = head;
LinkNode* q = head;
int i = 1;
while(i<k)
{
p = p->next;
i++;
}
while(NULL != p ->next)
{
p = p->next;
q = q->next;
}
return q->ia;
}
LinkNode* ReversionLink(LinkNode* head)
{
LinkNode* pre = head;
LinkNode* cur = head->next;
LinkNode* ne = NULL;
while(NULL != cur)
{
ne = cur->next;
cur->next = pre;
pre = cur;
cur = ne;
}
head->next = NULL;
return pre;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
LinkNode*head = InlitializeLink(a, 10);
if (NULL != head)
{
int m = SearchNode(head, 3);
cout<<m<<endl;
head = ReversionLink(head);
OutPutLink(head);
}
system("pause");
return 0;
}
- 实现链表基本操作(简单操作)
- 链表操作源程序
- 链表操作
- C++ 链表操作
- 链表的操作
- 链表操作源程序
- 链表的操作
- 链表的操作
- C++链表操作
- 链表操作
- 链表操作
- 链表基本操作
- LinkList链表操作
- 合并链表操作
- 链表简单操作
- 链表的操作
- 链表操作
- 操作链表
- red hat linux 安装
- sql总结
- DataGrid 主从表 关键字两字段 使用的解决方法
- 关于递归
- POJ2051
- 操作链表
- 开始
- Windows下安装HTK3.4总结
- 使用自定义事件并随事件传递数据
- If there are
- On the other hand
- 完美的equals方法的建议
- 在java bean中对一个java文件进行语法分析 的方法
- 三星S3C6410(ARM1176)平台Android资源获取与编译(RedHat AS5)