Pointers to 'Data Structures' in C

D

DSKR

Please,can anyone help me by providing the 'best sources' on Internet
related to 'Advanced C' concepts like ADTs, Linked Lists,Queues,Stacks,Trees
etc?Thanks in Advance.
Regards
DSKR
 
D

DSKR

Thanks Robert for 'understanding' the post.I did a lot of search before
posting to this group, but all I could find,as you said,was course syllabi.

btw...all group members...no netizen today, needs introduction to google.If
you are not willing to help, don't bother replying posts.

and Mr.Tom St Denis, I don't know how experienced you are as a C
programmer,but let me reiterate that "ADTs, Linked Lists, Queues, Stacks,
Trees, etc" are considered "Advanced C" along with Memory/Buffer
manipulation, Advanced pointer concepts, System call interface/Portability
Programming, Bit Field Manipulation etc.Do you know anything 'more'?
 
J

Joona I Palaste

DSKR said:
and Mr.Tom St Denis, I don't know how experienced you are as a C
programmer,but let me reiterate that "ADTs, Linked Lists, Queues, Stacks,
Trees, etc" are considered "Advanced C" along with Memory/Buffer
manipulation, Advanced pointer concepts, System call interface/Portability
Programming, Bit Field Manipulation etc.Do you know anything 'more'?

Tom St.Denis has a bad reputation here on comp.lang.c, and for good
reason, I might say. He keeps insisting off-topic posts are on-topic,
because they deal with OS-specific extensions to C. And his grasp of
even some aspects of standard C is a bit shoddy. I would suggest you
take anything he says with a grain of salt.

--
/-- Joona Palaste ([email protected]) ---------------------------\
| Kingpriest of "The Flying Lemon Tree" G++ FR FW+ M- #108 D+ ADA N+++|
| http://www.helsinki.fi/~palaste W++ B OP+ |
\----------------------------------------- Finland rules! ------------/
"The trouble with the French is they don't have a word for entrepreneur."
- George Bush
 
A

Arthur J. O'Dwyer

[^Strangely, my news server doesn't have that message.^]
Tom St.Denis has a bad reputation here on comp.lang.c, and for good
reason, I might say. He keeps insisting off-topic posts are on-topic,
because they deal with OS-specific extensions to C. And his grasp of
even some aspects of standard C is a bit shoddy. I would suggest you
take anything he says with a grain of salt.

I have little to no experience with Tom's posting habits, but I can tell
you that he was dead on target *this* time. ADTs are not C-specific.
Lists, queues, stacks, and trees are not C-specific. Memory management,
pointers, system calls, and bitwise ops do have C-specific
interpretations, but you'll note that the OP didn't ask about those.

Questions about data structures should be directed to comp.programming.

Questions about where to find things on the Internet should be directed
to http://www.google.com.

Questions involving questions about C code should be directed to
comp.lang.c or alt.comp.lang.learn.c-c++, but the OP didn't ask for
help with his C code - he asked where to find information on the Internet
about data structures.

-Arthur
 
D

dbtid

On 25 Jun 2003 09:43:05 GMT, Joona I Palaste <[email protected]>
wrote:

[snip]
Tom St.Denis has a bad reputation here on comp.lang.c, and for good
reason, I might say. He keeps insisting off-topic posts are on-topic,
because they deal with OS-specific extensions to C. And his grasp of
even some aspects of standard C is a bit shoddy. I would suggest you
take anything he says with a grain of salt.

I recently went to the local feed store and got a block of the salt
that one puts out in the fields in the winter for deer.

That almost helps.
 
G

goose

and Mr.Tom St Denis, I don't know how experienced you are as a C
programmer,but let me reiterate that "ADTs, Linked Lists, Queues, Stacks,
Trees, etc" are considered "Advanced C"

by who ? ADTs, linked-lists queues, stacks and trees are *NOT* advanced
C concepts. they are very basic C concepts.
along with Memory/Buffer
manipulation,

basic.
Advanced pointer concepts,

theres that word "advanced" again ... exactly *what* do you
mean by "advanced pointer concepts" ???

there is no "advanced" pointer concepts, with pointers, either
you "get it" or you dont ...
System call interface/Portability
Programming,

very basic as well, unless you dont have the docs for the
system calls you want to do :)
it Field Manipulation etc

that is *very* basic.
.Do you know anything 'more'?

i suspect that most C programmers do, wrt to the language anyway.

also, please do not toppost,
thanks :)


goose,
does this make me "advancedd" or what ?
 
D

DSKR

goose said:
by who ? ADTs, linked-lists queues, stacks and trees are *NOT* advanced
C concepts. they are very basic C concepts.

Hello goose,

may be not by 'unique' persons like you.do a search...'Advanced C' on
google.you will then underand by whom...they are considered 'Advanced C'.I
think your version of 'C Bible'(you know what I am refering to) has every
topic I mentioned.Does it?try to move along with the world.
"advanced" again ... exactly *what* do you
mean by "advanced pointer concepts" ???> there is no "advanced" pointer
concepts, with pointers, either
you "get it" or you dont ...> > System call interface/Portability Programming,
very basic as well, unless you dont have the docs for the> system calls you want to do :)

again I am talking about techniques exploiting the power of these.try to
differentiate a professional & a learner.In any part of the world technology
is taught in 2 modes... 'Introductory' & 'Advanced'.3-4 in many cases.you
are exceptional ofcourse.
to the language anyway.

I guess you are one of those.Please let us know what more?
also, please do not toppost, thanks :)
thanks :)
goose,
does this make me "advancedd" or what ?
I would be very glad to know from you,Mr.goose, what else in the world
,wuold you categorize under 'Advanced C'.I know you are not ready to put
anything under it,because for you everything is 'Basic'...'Very Basic'.funny
:)
 
J

Joona I Palaste

Hello goose,
may be not by 'unique' persons like you.do a search...'Advanced C' on
google.you will then underand by whom...they are considered 'Advanced C'.I
think your version of 'C Bible'(you know what I am refering to) has every
topic I mentioned.Does it?try to move along with the world.
I would be very glad to know from you,Mr.goose, what else in the world
,wuold you categorize under 'Advanced C'.I know you are not ready to put
anything under it,because for you everything is 'Basic'...'Very Basic'.funny
:)

If you think manipulation of lists, trees, and other ADTs is all there
is to C, you don't know very much about programming. Keep on studying.

--
/-- Joona Palaste ([email protected]) ---------------------------\
| Kingpriest of "The Flying Lemon Tree" G++ FR FW+ M- #108 D+ ADA N+++|
| http://www.helsinki.fi/~palaste W++ B OP+ |
\----------------------------------------- Finland rules! ------------/
"Roses are red, violets are blue, I'm a schitzophrenic and so am I."
- Bob Wiley
 
A

Arthur J. O'Dwyer

If you have a question and actually have researched it yourself it's
advisable to indicate that in the question, so that noone suspects you of
being one of those lazy people that didn't even google for it.

But (to any future stupid-questioners in the audience) please actually
*do* use Google, don't just *say* you did. That will get you even more
flippant and/or annoyed responses. For example, if you're searching
for "B-Trees" (a recent example on comp.programming), you'd better make
sure before alluding to Google that
http://www.google.com/search?q=b-trees&btnI=Im+Feeling+Lucky
doesn't lead directly to a tutorial on B-trees.

In this OP's case,
http://www.google.com/search?q="adts+in+c"&btnI=Im+Feeling+Lucky
leads only to a PDF version of a lecture containing code for linked
lists and trees, and the header file for a priority-queue structure.
Not much of a tutorial (not that anyone interested in "advanced" anything
should need a tutorial!). I don't know what he was looking for, really,
but this OP does pass at least the preliminary stage of my "dumb poster"
test.

And to DSKR: You might be surprised how many people can't use the Internet
with any semblance of efficiency. Using a search engine effectively seems
to be something that a lot of people simply can't do. I don't know why.

-Arthur
 
N

Neil Cerutti

While hopefully not adding to the argument, I would be curious
to see your (or anyone else's) answer to DSKR's question as to
exactly what you would categorize as "advanced C."

Internationalization via locales is not covered in most
introductory textbooks I've seen.

Writing usable generic containers/algorithms is C is not for the
newbie. In general, writing a large, reusable C library requires
experience.
 
G

goose

Alan Balmer said:
While hopefully not adding to the argument, I would be curious to see
your (or anyone else's) answer to DSKR's question as to exactly what
you would categorize as "advanced C."

C is a simple language, I would like to advance the theory that
the only difficult or "advanced" things one would do with C
would be difficult or advanced wrt the problem-domain.

writing an OS (goosix :) may be a difficult and/or advanced
thing to do with C, but it is difficult or advanced primarily
*because* OS concepts are difficult things to implement, not because
the *language* is difficult to use.


OTOH, I would like to hear what others consider to be /advanced C/ ...
give me a few quick snatches of code that is advanced C, and advanced
because of the language features it uses, and not because of some
highly complex problem-domain (like statistics, nulcear physics, etc).

how can one have advanced pointer concepts ?
(Sorry I can't quote directly - someone broke the thread and I can't
quickly find the original.)

yeah, that happens all the time :)

goose,
goosix, the next windows-killer :)
 
J

Joona I Palaste

who thought that is all there is to C?This is what I said:
"ADTs, Linked Lists, Queues, Stacks Trees, etc" are considered "Advanced C"
along with Memory/Buffer manipulation, Advanced pointer concepts, System
call interface/Portability Programming, Bit Field Manipulation etc. you are
following a snipped thread.

You also said that to goose "all is very basic". goose said that to him
manipulation of lists, trees and other ADTs is very basic. With *my*
reasoning, this implies you think manipulation of lists, trees and other
ADTs *is* all, otherwise you wouldn't have quoted goose's opinion on
things he didn't express an opinion on.

--
/-- Joona Palaste ([email protected]) ---------------------------\
| Kingpriest of "The Flying Lemon Tree" G++ FR FW+ M- #108 D+ ADA N+++|
| http://www.helsinki.fi/~palaste W++ B OP+ |
\----------------------------------------- Finland rules! ------------/
"As we all know, the hardware for the PC is great, but the software sucks."
- Petro Tyschtschenko
 
D

DSKR

goose said:
Alan Balmer <[email protected]> wrote in message

C is a simple language, I would like to advance the theory that
the only difficult or "advanced" things one would do with C
would be difficult or advanced wrt the problem-domain.

writing an OS (goosix :) may be a difficult and/or advanced
thing to do with C, but it is difficult or advanced primarily
*because* OS concepts are difficult things to implement, not because
the *language* is difficult to use.

OTOH, I would like to hear what others consider to be /advanced C/ ...
give me a few quick snatches of code that is advanced C, and advanced
because of the language features it uses, and not because of some
highly complex problem-domain (like statistics, nulcear physics, etc).

when would anyone consider something to be difficult?
when there is relatively simpler version of it...right? now *looking from
the perspective of a learner*....for example....learning 'what a pointer
is'...is basic....ok....'pointer-to-pointer-to-pointer/Multiple
Pointers/Array of Pointers to Structures' is certainly advanced.this theory
applies to all other topics I mentioned earlier.
btw why would you get 'goosix' in between?.we are not bothered about OS
development.we all know that there are many problem-domains in implementing
C.I don't know how you could relate 'OS development' to 'Advanced C'?! for
ex. if you are programming VxWorks in C....are you implementing 'Advanced
C'?!! You may not need 'Advanced C'(my definition here) to answer a problem
in any domain(leaving quality behind, ofcourse).


DSKR
 
R

Roc

dbtid said:
On 25 Jun 2003 09:43:05 GMT, Joona I Palaste <[email protected]>
wrote:

[snip]
Tom St.Denis has a bad reputation here on comp.lang.c, and for good
reason, I might say. He keeps insisting off-topic posts are on-topic,
because they deal with OS-specific extensions to C. And his grasp of
even some aspects of standard C is a bit shoddy. I would suggest you
take anything he says with a grain of salt.

I recently went to the local feed store and got a block of the salt
that one puts out in the fields in the winter for deer.

That almost helps.

Be careful, salt licks for deer (and even feeding them in general) is
illegal more than a few states. =)
 
G

goose

DSKR said:
when would anyone consider something to be difficult?
when there is relatively simpler version of it...right?

I'm not so sure. for it to have an "advanced" badge, i'd suggest
that "it" (whatever it may be), require more skill, training or experience
(or all three) to operate or use.

like the difference between driving a passenger car with an automatic
gearbox and driving a Mack with a 18-gear floor shifter, in heavy
peak-hour traffic.

with pointers-to-pointers-to-pointers, otoh, you dont need any extra
skill, training or experience ... you just need to be more carefull!
now *looking from
the perspective of a learner*

from the perspective of an absolute beginner, everythings complex,
or advanced, or difficult ...

but of course, it would differ wrt the current skill of the learner.
A learner on my skill/training/experience level may find nothing
advanced left in the language, and find everything complex in the
problems that i try to solve using the language.
....for example....learning 'what a pointer
is'...is basic....ok....'pointer-to-pointer-to-pointer/Multiple
Pointers/Array of Pointers to Structures' is certainly advanced.

once again, i beg to (politely) differ. how is an array of pointers
to structures "advanced" ???
this theory
applies to all other topics I mentioned earlier.
btw why would you get 'goosix' in between?.we are not bothered about OS
development.

exactly! we are bothered (such a rough term:) by the language C, and
if you were to claim that there exists parts of the language that is
advanced, then i would most certainly like to know which bits, and how ?
(a related thread does have one /difficult-ish/ thing to do in C,
but I wont call it advanced either ... that is defining a function
which returns a pointer to a function of the same signature as itself).
we all know that there are many problem-domains in implementing
C.

(comp.std.c, maybe ?) I presume you mean "implementing solutions in C",
and not "implementing C" ?
I don't know how you could relate 'OS development' to 'Advanced C'?!

that was not my intention, my intention (which looks more than a
/little/ stupid in hindsight:) was to find out if anyone other than
myself considers C itself to be simple, and only the problems to be
solved with it to be advanced.
for
ex. if you are programming VxWorks in C....are you implementing 'Advanced
C'?!!

I've never implemented *any* C, although I've been sorely
tempted to write my own compiler which will catch *all* undefined
behaviour and insert code to recite shakespearen soliliquies (sp?)
instead of "sometimes working, sometimes not".
You may not need 'Advanced C'(my definition here) to answer a problem
in any domain(leaving quality behind, ofcourse).

but you will need a good grasp of data structures and algorithms
to solve most problems.

<asbestos pants>
i dont believe that anything that C has can be considered "advanced",
it is too simple and too clean in comparison to other languages to
have features that are only available to one after serious and protracted
study (which, btw, is how I read "advanced" -> knowledge or skills gained
after a suitable amount studying and/or working with).

hth
goose,
to be or not to be, is undefined ....
 
A

Arthur J. O'Dwyer

when would anyone consider something to be difficult?
when there is relatively simpler version of it...right? now *looking from
the perspective of a learner*....for example....learning 'what a pointer
is'...is basic....ok....'pointer-to-pointer-to-pointer/Multiple
Pointers/Array of Pointers to Structures' is certainly advanced.this theory
applies to all other topics I mentioned earlier.
btw why would you get 'goosix' in between?.we are not bothered about OS
development.we all know that there are many problem-domains in implementing
C.I don't know how you could relate 'OS development' to 'Advanced C'?! for
ex. if you are programming VxWorks in C....are you implementing 'Advanced
C'?!! You may not need 'Advanced C'(my definition here) to answer a problem
in any domain(leaving quality behind, ofcourse).

Did anyone ever tell you that your English writing looks like line noise?
Please learn to capitalize correctly, spell correctly, and insert
whitespace between your words and sentences. Proper punctuation would
also be a welcome improvement.

Speaking of line noise, I agree with goose that C is all easy. *Perl*,
on the other hand, has a definite gradient from "easy" concepts to
"advanced." Or maybe that's just me. :)

-Arthur
 
D

DSKR

goose said:
I'm not so sure. for it to have an "advanced" badge, i'd suggest
that "it" (whatever it may be), require more skill, training or experience
(or all three) to operate or use.

Require 'more'. What is that more and how do you get it?....So you accept
that there is 'lesser' variant of 'it', and it's present in everything. C is
not any exception. One needs 'more' training for some concepts in C and he
feels that to be advanced 'compared' to basic concepts he learned,because it
required more effort.

If you go and ask a guy, who has been driving a Mack with a 18-gear floor
shifter for many years, 'how do you find driving a car with an automatic
gearbox', What would be his reply?! This is what happening to you
Mr.Goose.That is why I quoted *looking from the perspective of a learner*.
Please come out of your organized belief (politely) and then give it an
another thought.
A learner on my skill/training/experience level may find nothing
advanced left in the language, and find everything complex in the
problems that i try to solve using the language.

You said it yourself. "nothing advanced *left* in the language".So when you
were novice, you too felt some concepts to be advanced.Now find 'advanced'
things in domain specific problems.When you become expert in such a domain,
you will find nothing advanced in that domain.:)
once again, i beg to (politely) differ. how is an array of pointers
to structures "advanced" ???
exactly! we are bothered (such a rough term:) by the language C, and
if you were to claim that there exists parts of the language that is
advanced, then i would most certainly like to know which bits, and how ?

I guess the same answer would apply for this too.
(a related thread does have one /difficult-ish/ thing to do in C,
but I wont call it advanced either ... that is defining a function
which returns a pointer to a function of the same signature as itself).

Your quote again...
I'm not so sure. for it to have an "advanced" badge, i'd suggest
that "it" (whatever it may be), require more skill, training or experience
(or all three) to operate or use.

Doesn't */difficult-ish/ thing* you found require more skill?
that was not my intention, my intention (which looks more than a
/little/ stupid in hindsight:) was to find out if anyone other than
myself considers C itself to be simple, and only the problems to be
solved with it to be advanced.
but you will need a good grasp of data structures and algorithms
to solve most problems.
definitely one will need them.But can't we do with out them?

-DSKR
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,901
Latest member
Noble71S45

Latest Threads

Top