Pointers to 'Data Structures' in C

Discussion in 'C Programming' started by DSKR, Jun 24, 2003.

  1. DSKR

    DSKR Guest

    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
     
    DSKR, Jun 24, 2003
    #1
    1. Advertisements

  2. DSKR

    dbtid Guest

    Now **THAT'S** what I would call "snippy."
     
    dbtid, Jun 24, 2003
    #2
    1. Advertisements

  3. These are *not* "Advanced C concepts".

    I used Google

    http://www.google.com/

    to search for

    "Data Structures and Algorithms in C"

    and found lots of stuff.
     
    E. Robert Tisdale, Jun 24, 2003
    #3
  4. DSKR

    DSKR Guest

    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'?
     
    DSKR, Jun 25, 2003
    #4
  5. 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 () ---------------------------\
    | 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
     
    Joona I Palaste, Jun 25, 2003
    #5
  6. [^Strangely, my news server doesn't have that message.^]
    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
     
    Arthur J. O'Dwyer, Jun 25, 2003
    #6
  7. DSKR

    dbtid Guest

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

    [snip]
    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.
     
    dbtid, Jun 25, 2003
    #7
  8. DSKR

    goose Guest

    by who ? ADTs, linked-lists queues, stacks and trees are *NOT* advanced
    C concepts. they are very basic C concepts.
    basic.
    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 ...
    very basic as well, unless you dont have the docs for the
    system calls you want to do :)
    that is *very* basic.
    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 ?
     
    goose, Jun 26, 2003
    #8
  9. DSKR

    DSKR Guest

    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
    concepts, with pointers, either
    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?
    thanks :)
    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
    :)
     
    DSKR, Jun 26, 2003
    #9
  10. 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 () ---------------------------\
    | 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
     
    Joona I Palaste, Jun 26, 2003
    #10
  11. 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
     
    Arthur J. O'Dwyer, Jun 26, 2003
    #11
  12. DSKR

    Neil Cerutti Guest

    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.
     
    Neil Cerutti, Jun 26, 2003
    #12
  13. DSKR

    goose Guest

    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 ?
    yeah, that happens all the time :)

    goose,
    goosix, the next windows-killer :)
     
    goose, Jun 27, 2003
    #13
  14. 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 () ---------------------------\
    | 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
     
    Joona I Palaste, Jun 27, 2003
    #14
  15. DSKR

    DSKR Guest

    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
     
    DSKR, Jun 27, 2003
    #15
  16. DSKR

    CBFalconer Guest

    What else is new? You have to learn to discriminate. :)
     
    CBFalconer, Jun 27, 2003
    #16
  17. DSKR

    Roc Guest

    Be careful, salt licks for deer (and even feeding them in general) is
    illegal more than a few states. =)
     
    Roc, Jun 27, 2003
    #17
  18. DSKR

    goose Guest

    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!
    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.
    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 ?
    (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).
    (comp.std.c, maybe ?) I presume you mean "implementing solutions in C",
    and not "implementing 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.
    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".
    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 ....
     
    goose, Jun 27, 2003
    #18
  19. 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
     
    Arthur J. O'Dwyer, Jun 27, 2003
    #19
  20. DSKR

    DSKR Guest

    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.
    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.:)
    I guess the same answer would apply for this too.
    Your quote again...
    Doesn't */difficult-ish/ thing* you found require more skill?
    definitely one will need them.But can't we do with out them?

    -DSKR
     
    DSKR, Jun 28, 2003
    #20
    1. Advertisements

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 (here). After that, you can post your question and our members will help you out.