数据结构C语言之线性表简单实现
2013-02-28 09:20
309 查看
#include "stdafx.h"
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define LIST_SIZE 100
//定义线性表结构
typedef struct{
int *element;
int length;
int list_size;
}Sqlist;
int _tmain(int argc, _TCHAR* argv[])
{
//初始化线性表
void initList(Sqlist &L);
//向线性表某一位置插入元素
void InsertList(Sqlist &L,int i,int e);
//输出线性表
void displayList(Sqlist &L);
//删除线性表中某一位置元素,用e返回删除元素的值
void DeleteList(Sqlist &L,int i,int &e);
//查找线性表中某一位置的元素
bool FindList(Sqlist &L,int i,int &e);
Sqlist list;
initList(list);
for(int j=1;j<=10;j++)
InsertList(list,j,j+1);
displayList(list);
int e;
DeleteList(list,3,e);
printf("%d\n",e);
displayList(list);
return 0;
}
void initList(Sqlist &L)
{
L.element=(int*)malloc(LIST_SIZE *sizeof(int));
if(L.element==NULL)
{
printf("初始化线性表失败!\n");
return ;
}
L.length=0;
L.list_size=0;
}
void InsertList(Sqlist &L,int i,int e)
{
if(i<0||i>L.length+1)
return ;
if(L.list_size==LIST_SIZE)
return ;
L.element[i-1]=e;
for(int j=i;j<L.length-j+1;j++)
L.element[j+1]=L.element[j];
L.length++;
L.list_size++;
}
void DeleteList(Sqlist &L,int i,int &e)
{
if(i<0||i>L.length+1)
return ;
e=L.element[i-1];
for(int j=i-1;j<=L.length-i+1;j++)
L.element[j]=L.element[j+1];
L.length--;
L.list_size--;
}
void displayList(Sqlist &L)
{
if(L.length==0)
return;
for(int i=0;i<L.length;i++)
printf("%d ",L.element[i]);
printf("\n");
}
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define LIST_SIZE 100
//定义线性表结构
typedef struct{
int *element;
int length;
int list_size;
}Sqlist;
int _tmain(int argc, _TCHAR* argv[])
{
//初始化线性表
void initList(Sqlist &L);
//向线性表某一位置插入元素
void InsertList(Sqlist &L,int i,int e);
//输出线性表
void displayList(Sqlist &L);
//删除线性表中某一位置元素,用e返回删除元素的值
void DeleteList(Sqlist &L,int i,int &e);
//查找线性表中某一位置的元素
bool FindList(Sqlist &L,int i,int &e);
Sqlist list;
initList(list);
for(int j=1;j<=10;j++)
InsertList(list,j,j+1);
displayList(list);
int e;
DeleteList(list,3,e);
printf("%d\n",e);
displayList(list);
return 0;
}
void initList(Sqlist &L)
{
L.element=(int*)malloc(LIST_SIZE *sizeof(int));
if(L.element==NULL)
{
printf("初始化线性表失败!\n");
return ;
}
L.length=0;
L.list_size=0;
}
void InsertList(Sqlist &L,int i,int e)
{
if(i<0||i>L.length+1)
return ;
if(L.list_size==LIST_SIZE)
return ;
L.element[i-1]=e;
for(int j=i;j<L.length-j+1;j++)
L.element[j+1]=L.element[j];
L.length++;
L.list_size++;
}
void DeleteList(Sqlist &L,int i,int &e)
{
if(i<0||i>L.length+1)
return ;
e=L.element[i-1];
for(int j=i-1;j<=L.length-i+1;j++)
L.element[j]=L.element[j+1];
L.length--;
L.list_size--;
}
void displayList(Sqlist &L)
{
if(L.length==0)
return;
for(int i=0;i<L.length;i++)
printf("%d ",L.element[i]);
printf("\n");
}
相关文章推荐
- 【数据结构】数据结构C语言的实现(线性表)
- c语言实现最简单的哈希表(开放地址线性探测法)
- 数据结构 --静态队列的一个简单的C语言代码实现
- 数据结构学习笔记-线性表顺序存储(C语言实现)
- 简单线性数据结构:栈和队列的实现
- 数据结构--线性表.顺序表(C语言实现)
- 3ff0 C语言实现一种简单的应用服务器内部数据结构的思路(二)
- 数据结构-C语言 单链线性表实现归并 C=A∪B
- 线性表数据结构C语言实现
- 数据结构_1:线性表: C语言实现
- 【数据结构】数据结构C语言的实现(简单二叉树)
- [数据结构]栈的C语言简单实现
- 数据结构C语言之单链表简单实现
- 严蔚敏版《数据结构》第二章线性表的算法C语言实现
- 数据结构 - 线性表(顺序表)C语言代码实现-处理整型数据(附详细解释)。 _清风明月
- 线性结构 -- 连续存储(数组), 1个简单的c语言代码实现.
- 数据结构C语言之栈的简单实现
- (一)数据结构之线性表的简单实现:链表
- 数据结构 c语言实现哈希(hash)表查找 除留余数法构建hash函数开放定值法线性探测处理冲突
- 数据结构----纯C语言实现线性表的单向链式存储结构