接口链表

接口链表

package main
type LinkNode struct{ //头结点
	data interface()
	next *LinkNode
}
type Link struct{ //链表
	head *LinkNode //指向头结点的指针
}
func (p *Link) InertHead(data interface{}){
	node := &Link{   //头插法、前插法
		data:data
		next:nil
	}
	if (p.tail == nil && p.head == nil){
		p.tail = node
		p.head = node 
		return
	}
	node.next = p.head  
	p.head = node
}
func (p *Link) InertTail(data interface{}){
	node := &LinkNode{   //尾插法
		data:data
		next:nil
	}
	if (p.tail == nil && p.head == nil){
		p.tail = node
		p.head = node 
		return
	}
	p.tail.next = node
	p.tail = node
}
func (p *Link) Trans(){ //遍历链表
	q := p.head
	for q != nil{
		fmt.Println(q.data)
		q = q.next
	}
}

func main(){
	var link Link
	for i := 0; i < 10; i++ {
		link.InsertHead(i)
		//link.InsertTail(fmt.Sprintf("str %d", i))
	}
	link.Trans()
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
API接口是指应用程序编程接口(Application Programming Interface),它是一组定义了不同软件组件之间交互的协议和工具集合。在软件开发中,常常使用API接口来实现各个组件之间的数据传输和功能调用。 链表是一种常用的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。链表的特点是可以快速地插入和删除元素,但查找元素的效率较低。 在实际应用中,我们可以使用API接口来对链表进行抽象和封装,以实现对链表的操作和管理。具体来说,我们可以定义一些抽象的方法,用来描述链表的功能和操作,例如: 1. 创建链表:通过API接口提供的方法,我们可以创建一个空链表或者带有初始数据的链表。 2. 插入元素:使用API接口中的插入方法,我们可以在链表的任意位置插入一个新的元素。 3. 删除元素:通过API接口提供的删除方法,我们可以在链表中删除指定位置的元素。 4. 查找元素:使用API接口中的查找方法,我们可以根据给定的条件在链表中查找指定的元素。 5. 更新元素:通过API接口提供的更新方法,我们可以修改链表中指定位置的元素的值。 除了以上方法,API接口还可以包括其他一些功能,如获取链表的长度、判断链表是否为空等。 通过抽象方法,API接口可以将链表的实现细节隐藏起来,用户只需调用API接口提供的方法就可以对链表进行操作,而无需了解具体的实现细节。这样可以提高代码的重用性和可维护性,同时也方便了开发人员在使用链表时的使用和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

icc*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值