I am trying to implement heap in CLisp. I have already done it by makin a linear data strcuture with no left / right pointers. But now I want to use a nested list format which contains (el () ()) at the highst level.
The problem I am facing with is how to define a recursive case for insertion. Heap requires the tree to be complete.

I approach the issue as follows:

1. I will take a heap and an element
2. I will add the element in the last node keeping it a complete tree
3. I wil swap the child with parent if it is greater than the parent

But I am stuck at the second step i.e. how to add an element without making the tree incomplete? KIndly help me on this!!!!!!!

Recommended Answers

All 3 Replies

LISP????

Yuch!!!

Hoppy

P.S. I hate Lisp!

commented: This is such a worthless post. -1

Way to beef up your post count, hopalongcassidy. If you hate Lisp so much, then avoid any thread with "Lisp" or "Scheme" in the title.

Sheesh.

I'm sorry for that lsprog.
I haven't done much mucking about with stack and heap programming in Common Lisp. When you mention "CLisp" do you mean GNU Clisp - the REPL? Or are you referring to Common Lisp?

As far as my programming experience has taught me, mucking about with stacks and heaps is reserved for the language handler (interpreter/VM/whatever-else-you-want-to-call-it). Would you be able to show me a bit of code, and I will more than try my hardest to help you.

Way to beef up your post count, hopalongcassidy. If you hate Lisp so much, then avoid any thread with "Lisp" or "Scheme" in the title.

Boy,. I didn't know I would strike such a nerve. I guess I would be sensitive too if I was constantly trying to keep an arcane language from going extinct.

Hoppy :(

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.