如何交换两个结构体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何交换两个结构体相关的知识,希望对你有一定的参考价值。

如何根据总分将学生信息排序,学生信息均保存在结构体中
有没有更简单的,用基本C语言知识就可解决的,譬如用指针交换地址什么的,若能回答,十分感谢

参考技术A 使用集合List的Sort方法,参数使用实现ICompare接口的类
如下:
list.Sort(new MyCompare());//排序

关于排序,你可使用ICompare接口
public class MyCompare : IComparer<Country>

#region IComparer<Country> 成员

public int Compare(Country x, Country y)

if (x == null)

if (y == null)
return 0;
else
return -1;

else

if (y == null)
return 1;
else
return x.Number.CompareTo(y.Number)


本回答被提问者采纳
参考技术B 那你在C#版上问干什么?

go语言学习笔记 — 基础 — 复合数据类型 — 结构体:如何在包中引用另外一个包的结构体?

  • 两个go源文件不属于同一个package

将room.go所在的package引入到msg.go中,需要在msg.go使用时加上包名。

room.go

package room

type Rule struct{
    name string
    age  int    //your code
}

msg.go

package msg

import "room"

var a room.Rule
  • 两个go源文件属于同一个package

如果这两个文件属于同一个package的话,直接用Rule就行了,无需导入包名。但在运行或编译时,需要加上结构体所在的go源文件。

room.go

package main

type Rule struct{
    name string
    age  int    //your code
}

main.go

package main

var a Rule

func main() {
    fmt.Println(a)
}

运行、编译

# go run main.go room.go

以上是关于如何交换两个结构体的主要内容,如果未能解决你的问题,请参考以下文章

C/C++ 有关swap的 用swap交换两个结构体的时候驶是如何交换的,

C语言结构体数组排序

C语言 结构体如何排序

如何将不同类型的结构体作为一个函数的参数?

C语言,请问如何将结构体中的结构体拷贝到内存

C语言,请问如何将结构体中的结构体拷贝到内存