数据结构-----顺序表与单链表的实现

本文深入探讨数据结构中的顺序表和单链表,详细阐述它们的概念、特点,并提供相应的实现代码示例,帮助读者理解这两种基本数据结构的操作和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.顺序表

////////////////////////////////////////////////////////////
//
//  实现顺序表的初始化,插入,删除,查找,逆置,合并等操作
//
////////////////////////////////////////////////////////////
//////////////

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

typedef  int        ElemType ;
#define  MAXSIZE    100
#define  INCREMENT  100

typedef struct SeqList
{
	ElemType * head ;  // 数据存储空间
	int length ; // 长度
	int size ;   // 最大容量
} SeqList ;

// 初始化
void InitSeqList( SeqList * S )
{
	S->head = (ElemType*)malloc(sizeof(ElemType)*MAXSIZE) ;
	if( S->head == NULL )
	{
		printf("线性表初始化时内存分配失败!\n") ;
		exit(0) ;
	}
	S->length = 0 ;
	S->size = MAXSIZE ;
}

// 查找
// 输入元素的值,返回元素的索引 ; 查找失败返回-1
int Find( SeqList * S , ElemType elem )
{
	int i = 0 ;
	for( ; i < S->length ; i++ )
	{
		if( S->head[i] == elem )
		{
			return i ;
		}
	}
	return -1 ;
}

// 插入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值