顺序线性表单链表的整表操作
2014-08-25 16:51
316 查看
// 单链表的整表创建与删除.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <Ctime>
using namespace std;
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int ElemType;
typedef struct Node *LinkList;
typedef int Status;
/*线性表的单链表存储结构*/
typedef struct Node
{
ElemType data;
struct Node *next;
}Node;
/*随即产生n个元素的值,建立带表头结点的单链线性表L(头插法)*/
void CreateListHead( LinkList *L , int n )
{
LinkList p;
int i;
srand( time( 0 ) );
*L = ( LinkList ) malloc ( sizeof ( Node ) );
(*L)->next = NULL;
for ( i = 0; i < n; i++)
{
p = ( LinkList ) malloc ( sizeof ( Node ) );
p->data = rand() %100 +1;
p->next = (*L)->next;
(*L)->next = p;
}
}
/*随即产生n个元素的值,建立带表头结点的单链线性表L(头插法)*/
void CreateListTail( LinkList *L , int n )
{
LinkList p,r;
int i;
srand( time( 0 ) );
*L = ( LinkList ) malloc ( sizeof ( Node ) );
r = *L;
for ( i = 0; i < n; i++)
{
p = ( LinkList ) malloc ( sizeof ( Node ) );
p->data = rand() %100 +1;
r->next = p;
}
r->next = NULL;
}
/*初始条件:顺序线性表L已经存在*/
/*操作结果:将L重置为空表*/
Status ClearList( LinkList *L )
{
LinkList p,q;
int i;
p =(*L)->next;
while ( p )
{
q = p->next;
free( q );
p = q;
}
(*L)->next = NULL;
return OK;
}
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
//
#include "stdafx.h"
#include <iostream>
#include <Ctime>
using namespace std;
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int ElemType;
typedef struct Node *LinkList;
typedef int Status;
/*线性表的单链表存储结构*/
typedef struct Node
{
ElemType data;
struct Node *next;
}Node;
/*随即产生n个元素的值,建立带表头结点的单链线性表L(头插法)*/
void CreateListHead( LinkList *L , int n )
{
LinkList p;
int i;
srand( time( 0 ) );
*L = ( LinkList ) malloc ( sizeof ( Node ) );
(*L)->next = NULL;
for ( i = 0; i < n; i++)
{
p = ( LinkList ) malloc ( sizeof ( Node ) );
p->data = rand() %100 +1;
p->next = (*L)->next;
(*L)->next = p;
}
}
/*随即产生n个元素的值,建立带表头结点的单链线性表L(头插法)*/
void CreateListTail( LinkList *L , int n )
{
LinkList p,r;
int i;
srand( time( 0 ) );
*L = ( LinkList ) malloc ( sizeof ( Node ) );
r = *L;
for ( i = 0; i < n; i++)
{
p = ( LinkList ) malloc ( sizeof ( Node ) );
p->data = rand() %100 +1;
r->next = p;
}
r->next = NULL;
}
/*初始条件:顺序线性表L已经存在*/
/*操作结果:将L重置为空表*/
Status ClearList( LinkList *L )
{
LinkList p,q;
int i;
p =(*L)->next;
while ( p )
{
q = p->next;
free( q );
p = q;
}
(*L)->next = NULL;
return OK;
}
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
相关文章推荐
- 顺序线性表单链表的操作
- 数据结构(2)--线性表单链表的主要操作的实现
- 线性表的基本操作实现 - 链表与顺序表
- 线性表的顺序表示和操作
- 线性表之顺序表基本操作实现
- (四)线性表的顺序实现及相关操作
- 学习笔记---线性表的基本操作---顺序存储(C语言)
- 数据结构之线性结构(顺序表和链表的比较)【五】
- 利用顺序结构实现线性表的基本操作
- 两个顺序线性表的合并,关于数组指针的操作。
- 对线性链表的完整操作(1)
- 数据结构—线性表之顺序表的操作
- 顺序线性表的基本操作算法
- 线性表的顺序存储实现及相关操作 C语言版
- 嵌入式 线性表(顺序表,链表)示例
- 线性表_顺序存储/基本操作
- 复习一:顺序线性表的操作.
- 数据结构之线性表顺序存储的常用操作(转载)
- 线性表顺序存储优缺点,线性链表的优缺点
- 带头结点的链表实现线性表的基本操作