func (l *List) PutBefore(v interface{} /* val */) (*El, bool) {
	cur := l.search(v, true, true)

	if !l.repeat && cur != nil && !l.less(v, cur.val) {
		cur.val = v
		return cur, false
	}

	return l.rndEl(v), true
}
// Put puts new value. If it is list with repititions, than it adds new copy before all equals.
// Overwise it rewrites (not replaces) existing.
// Second returned argument is true if there wasn't such element.
Put puts new value. If it is list with repititions, than it adds new copy before all equals.
Overwise it rewrites (not replaces) existing.
Second returned argument is true if there wasn't such element.
// Put puts new value . If it is list with repititions than it adds new copy before all equals . // Overwise it rewrites ( not replaces ) existing . // Second returned argument is true if there wasn ' t such element .
func (l *List) PutBefore(v interface{} ) (*El, bool) {
	cur := l.search(v, true, true)
	if !l.repeat && cur != nil && !l.less(v, cur.val) {
		cur.val = v
		return cur, false
	}
	return l.rndEl(v), true
}
func ( l * List ) PutBefore ( v interface { } ) ( * El , bool ) { cur := l . search ( v , true , true ) if ! l . repeat && cur != nil && ! l . less ( v , cur . val ) { cur . val = v return cur , false } return l . rndEl ( v ) , true }
Put puts new value.
Put puts new value .
/* val */