循环链表
来源:互联网 发布:架子鼓教学软件 编辑:程序博客网 时间:2024/04/30 06:51
循环链表:
#include<stdlib.h>
struct clist
{
int data;
struct clist *next;
};
typedef struct clist cnode: //循环链表新类型
typedef cnode *clink; //循环链表指针新类型
clink createclist(int *array,int len)
{
clink head; //循环链表指针
clink before; //前一节点指针
clink new_node; //新节点指针
int i;
/*创建第一个结点分配内存*/
head = (clink)malloc(sizeof(cnode));
if(!head)
return NULL;
head->data = array[0];
head->next = NULL;
before = head;
for( i=1 ; i<len; i++)
{
new_node = (clink)malloc(sizeof(cnode));
if(!new_node)
return NULL;
new_node->data = array[i];
new_node->next = NULL;
before->next = new_node;
before = new_node;
}
new_node->next = head;
return head;
}
void main()
{
clink head;
clink ptr; //输出用链表指针
int list[6] = {9,7,3,4,5,6};
int i;
head = createclist(list,6);
if (head == NULL)
{
printf("内存分配失败/n");
exit(1);
}
printf(“数组内容: ”);
for( i= 0;i<6;i++)
printf(“[%d],list[i]”);
pirntf(“/n链表内容: ”);
ptr = head; //指向链表开始
do
{
Printf(“[%d],ptr->data”);
Ptr = ptr->next;
}while (head != ptr);
Printf(“/n”);
}
- 循环链表实现循环队列
- 循环链表与循环队列
- 循环链表
- 循环链表
- 双向循环链表
- 双向循环链表
- 循环链表实验
- 链表::循环链表
- 双向循环链表
- 双向循环链表
- 循环链表
- 循环链表
- 循环链表
- 循环链表建立
- 数据结构 循环链表
- 双向循环链表
- 循环链表详解
- 循环链表
- VBA中代码加载引用(Reference DLL)方法实践
- wince国际化语言支持
- 重写组件遇到的问题
- 堆排序实现...
- 简单的框架网页高度自适应
- 循环链表
- Photoshop PS应用范围,PS使用领域
- error Nr. 1045
- Web所有父窗体与子窗体的交互方法列举(子调用父窗体函数)
- MapEasy+tilecache+ArcIms开发框架介绍
- java中的小问题
- CBC TIniFile类以及ExtractFilePath
- WinCE6.0下国际化语言支持之西班牙语
- js+vml的画图类