nord vpnnord vpn
Ad

Untitled

mail@pastecode.io avatar
unknown
c_cpp
7 months ago
699 B
1
Indexable
Never
// Entry function
// First Pops out all elements of stack and then
// builds the sorted stack gradually by calling insertion()
// to insert the element in its correct sorted place.
void sortStack(stack<int> &st) {

	if (st.empty()) return;

	int top = st.top();
	st.pop();
	
	sortStack(st);

	// insert the element in its correct sorted place.
	insertion(st, top);
}


// Given an element (curr) it inserts curr at its correct
// place in sorted order, similar to insertion sort.
void insertion(stack<int> &st, int curr) {
	// Found correct place for curr
	if (st.empty() || curr >= st.top()) {
		st.push(curr);
		return;
	}

	int top = st.top();
	st.pop();

	insertion(st, curr);

	st.push(top);
}

nord vpnnord vpn
Ad