linkedlist.go
func (list *LinkedList) Swap(x, y uint) error {
	list.key.Lock()
	defer list.key.Unlock()

	var xNode, yNode *llNode
	if temp, ok := get(list.first, x); ok {
		xNode = temp
	} else {
		return fmt.Errorf("index out of bounds 'x', wanted less than %d got %d", list.length, x)
	}
	if temp, ok := get(list.first, y); ok {
		yNode = temp
	} else {
		return fmt.Errorf("index out of bounds 'y', wanted less than %d got %d", list.length, y)
	}

	temp := xNode.payload
	xNode.payload = yNode.payload
	yNode.payload = temp
	return nil
}
func (list *LinkedList) Swap(x, y uint) error {
	list.key.Lock()
	defer list.key.Unlock()

	var xNode, yNode *llNode
	if temp, ok := get(list.first, x); ok {
		xNode = temp
	} else {
		return fmt.Errorf("index out of bounds 'x', wanted less than %d got %d", list.length, x)
	}
	if temp, ok := get(list.first, y); ok {
		yNode = temp
	} else {
		return fmt.Errorf("index out of bounds 'y', wanted less than %d got %d", list.length, y)
	}

	temp := xNode.payload
	xNode.payload = yNode.payload
	yNode.payload = temp
	return nil
}
func ( list * LinkedList ) Swap ( x , y uint ) error { list . key . Lock ( ) defer list . key . Unlock ( ) var xNode , yNode * llNode if temp , ok := get ( list . first , x ) ; ok { xNode = temp } else { return fmt . Errorf ( " " , list . length , x ) } if temp , ok := get ( list . first , y ) ; ok { yNode = temp } else { return fmt . Errorf ( " " , list . length , y ) } temp := xNode . payload xNode . payload = yNode . payload yNode . payload = temp return nil }
// Swap switches the positions in which two values are stored in this list.
// x and y represent the indexes of the items that should be swapped.
Swap switches the positions in which two values are stored in this list . x and y represent the indexes of the items that should be swapped .