为了账号安全,请及时绑定邮箱和手机立即绑定

Go:数组超出索引恐慌错误

Go:数组超出索引恐慌错误

Go
慕丝7291255 2021-06-18 03:24:57
我正在实施排序,但在 Go 语言中不断收到索引绑定错误。我的代码如下 func My_Partition(container []int, first_index int, last_index int) int {      var x int = container[last_index]      i := first_index - 1      for j := first_index; i < last_index; j++ {           if container[j] <= x {                i += 1                my_Swap(&container[i], &container[j])           }      }      my_Swap(&container[i+1], &container[last_index])      return i+1 }我在“if container[j] <= x”行中收到错误,提示panic:运行时错误:索引超出范围    main.My_Partition(0x2101b20c0, 0x7, 0x7, 0x0, 0x6, ...)/Path/main.go:34 +0xff有人有想法吗?我的交换功能在下面 func my_Swap(a *int, b *int) {      temp := *a      *a = *b      *b = temp }但我不认为交换是问题所在。
查看完整描述

1 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

你有一个错字:

for j := first_index; i < last_index; j++ {

应该:

for j := first_index; j < last_index; j++ {

很容易犯的错误:-)


查看完整回答
反对 回复 2021-06-28
  • 1 回答
  • 0 关注
  • 271 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信