نمایش نتایج 1 تا 18 از 18

نام تاپیک: لیست پیوندی در C

  1. #1

    لیست پیوندی در C

    اولا سلام به همه دوستان
    دوما ورود خودم رو به این سایت به خودم تبریک میگم
    ومتاسفم که دیر اینجارو پیدا کردم
    سوما از دوستان عزیز کی میتونه در مورد لیست پیوندی در C یه توضیح اساسی به من بده!
    دارم پروژه پایان ترم ساختمان داده ها مینویسم و در لیست پیوندی مشکل دارم
    ممنون میشم

  2. #2
    سلام
    خوش اومدی
    در مورد چیه لیستهای پیوندی توضیح میخوای ؟
    پیاده سازی شون ؟
    ببین لیستهای پیوندی انواع مختلفی دارن.مثلا لیستهای تک پیوندی،دو پیوندی،حلقوی و.........
    با کلاسها هم به سادگی قابل پیاده سازی هستند.
    یک کلاس برای پیاده سازی ساختمان داده هر گره (Node) لازم داری.
    یه کلاس هم برای لیستت که مجموعه ای از گره هاست.
    با استفاده از تخصیص حافظه پویا،هر وقت نیاز به درج عنصری در لسیت بود،فضای اونو میگیری و به یه متغیر نسبت میدی،بعد هم در جای مناسبی از لسیت اضافه اش میکنی.
    یکی از جالبترین مباحث ساختمان داده ها لسیتهای پیوندی هستند که کاربردهای زیادی هم دارن.

  3. #3
    راستش دقیقا نمیدونم
    من باید یه برنامه بنویسم که مثلا چک هایی رو که صادر میکنم در یه فایل ذخیره کنه
    وچک هایی که میگیرم رو در یه فایل دیگه
    ضمنا باید مشخص کنم که چک ها نقد شده اند یا نه
    و جستجو با شماره چک وتغییر چک ها از نزد مشتری به نقد و چک دیگران نزد من به نقد و حذف چک از لیست و نمایش چک ها رو بدم
    باید دو struct تعریف کنم:
    1- ورود اطلاعات چک خودم
    2- ورود اطلاعات چک دیگران
    باید شماره چک ها تکراری نباشند
    ضمنا تعداد هم مشخص نیست پس باید از تابع malloc استفاده شه
    و ..............
    که من متاسفانه دیگه مغزم کار نمیکنه
    آخه من همزمان درس برنامه سازی پیشرفته 2 و درس مبانی برنامه سازی ویژوال پاسکال رو هم دارم
    کاملا گیج کننده است
    این برنامه رو هم حتماباد تاآخر این هفته تحویل بدم

  4. #4
    ضمنا نمایش هر 4 نوع چک رو هم به صورت جدا داشته باشه
    منظور چک های خودم نقد شده
    چک ها خودم نزد مشتری
    چک های دیگران نزد من
    چک های دیگران که من نقد کردم
    مشخصات چک ها هم که نام بانک ، نام ، نام خانوادگی ، شماره حساب جاری ، شماره چک(تکراری نباشد) و مبلغ چک
    گیج کننده است

  5. #5
    لیست پیوندی چیست ؟

  6. #6
    من هم ورودت رو تبریک می گم
    و پیشنهاد می کنم که کتاب ساختمان داده های مهندس جعفرنژاد قمی بگیری
    این کتاب خیلی عالی انواع لیست های پیوندی رو گفته
    به نظر من بهترین راه برای یاد گرفتن لیست های پیوندی همین کتاب
    موفق باشی

    فرهاد

  7. #7
    اقای توانا لیست های پیوندی در ساختمان داده ها در قمست ساختمان داده های پویا قرار می گیره و باعث می شه که در ذخیره و بازیابی اطلاعات در میزان حافظه صرف جویی کرد
    این یک تعریف ساده از ساختمان داده

    فرهاد

  8. #8
    نمونه ای از لیست پیوندی !
    فایل های ضمیمه فایل های ضمیمه

  9. #9
    محروم شده آواتار yosoje
    تاریخ عضویت
    شهریور 1385
    پست
    2
    نقل قول نوشته شده توسط SIR_asad
    نمونه ای از لیست پیوندی !
    در مورد برنامه ای که نوشتی بیشتر توضیح بده برای من کمی نامفهوم بود

  10. #10
    کجاش نامفهومه ؟؟؟
    بگید تا توضیح بدم.


    موفق باشید

  11. #11
    محروم شده آواتار yosoje
    تاریخ عضویت
    شهریور 1385
    پست
    2
    لطفا درمورد نحوه عملکرد تابع add_node بیشتر توضیح بده.
    در داخل ساختار employ از متغییرهای idnext,*nnext,*occnext,*lnext*
    چه استفاده هایی میشه چون به نظر من برای اتصال دادن دو عضو از لیست به همدیگر از یک متغییر اشاره گر که در داخل ساختار تعریف میشود استفاده میکنند اگر من اشتباه میکنم لطفا برایم توضیح دهید
    باتشکر

  12. #12
    کاربر دائمی آواتار Armanprogrammer
    تاریخ عضویت
    خرداد 1384
    محل زندگی
    کرج
    پست
    109
    لیست پیوندی ساختاری در ساختمان داده است که داده ها رو میتونین تو اون ذخیره کنین و برتری اون هم نسبت به صف و پشته به نامحدود بودن اونه و بیشترین کاربرد اون توی database هاست

  13. #13
    نقل قول نوشته شده توسط yosoje
    لطفا درمورد نحوه عملکرد تابع add_node بیشتر توضیح بده.
    در داخل ساختار employ از متغییرهای idnext,*nnext,*occnext,*lnext*
    چه استفاده هایی میشه چون به نظر من برای اتصال دادن دو عضو از لیست به همدیگر از یک متغییر اشاره گر که در داخل ساختار تعریف میشود استفاده میکنند اگر من اشتباه میکنم لطفا برایم توضیح دهید
    باتشکر
    با سلام !

    چون در این ساختار لیست به 4 نوع مرتب میشه !
    1- برحسب id
    2-بر حسب Name
    3- برحسب Occeaption
    4- برحسب Location

    هر یک از اشاره گرهای زیر آدرس گره بعدی از نوع خود را نگه میداره
    idnext,*nnext,*occnext,*lnext*

    lnext =Next Of Locaton Node Address
    occnext = Next Of Occeptaion Node Address
    nnext= Next Of Name Node Address
    idnext = Next Of İd Node Address

    موفق باشید
    ------------------------

  14. #14

    لیست پیوندی

    سلام
    کسی میتونه کمکم کنه چه جوری char از ورودی بگیرم و در لیست پیوندی ذخیره کنم با++ c

    با تشکر

  15. #15
    کاربر دائمی
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    1,486
    سلام
    کسی میتونه کمکم کنه چه جوری char از ورودی بگیرم و در لیست پیوندی ذخیره کنم با++ c

    با تشکر
    ابتدا یه struct بساز که یه پارامتر به عنوان char و یکی هم به عنوان next که اشاره گر به گره بعدی تو لیست هست باشه.
    بعدش میتونی تو یه حلقه while تا جایی که مثلا کاراکتر '$' وارد نشده ، کاراکتر رو از ورودی بگیری و یک گره بسازی بعد از نسبت داده کاراکتر بهش تو لیست add کنی. در اضافه کردن یک گره باید توجه داشته باشی که همیشه مقدار next آخرین گره برابر NULL هست. پس ابتدا یک اشاره گر به اون struct باید بسازی و تخصیص حافظه کنی و اگه قراره که هر گره در انتهای لیست قرار بگیره بهتره همون اول مقدار next اون گره رو NULL کنی .

  16. #16

    نقل قول: لیست پیوندی در C

    با سلام
    دوستان من بک گراند مهندسی کامپیوتر و برنامه نویسی با C رو ندارم. به دلایلی مجبور شدم درس Operating Systems رو بگیرم. متاسفانه 40 درصد نمره اختصاص به پروژه هایی داره که باید با C بنویسم. اولین پروژه مربوط به لیست های پیوندی میشه ظاهراً که اینجا کپی می کنم. انتظار ندارم که پروژه را برام انجام بدید اما به دلیل اینکه هیچی نمی دونم خواهش می کنم به صورت قدم به قدم بگید که باید چی کار کنم. الان دارم در مورد لیست های پیوندی مطالعه می کنم. لطفاً هر کی می تونه کمک کنه.


    Project 1 description
     For this homework, you will be constructing a linked list
    implementation in C using the templates provides above.
     You may need to modify the data structure (or add new data
    structures) defined in list.h. However, you MAY NOT modify the
    function defined in list.h. You may need to complete the function
    bodies in list.c. You can add new functions into list.h.
     Create a test program to generate, populate and manipulate S
    (S<M) linked list.
     Test data in the format of an M x N matrix will be provided.
     Toy example (10 x 11):
    0 0 0 6 8 4 8 1 5 7 4
    8 7 7 5 7 3 0 0 0 0 3
    3 5 7 3 4 7 0 0 0 0 1
    0 0 8 2 7 6 2 4 4 5 0
    0 0 0 1 7 7 3 4 5 6 1
    0 0 7 4 4 8 5 7 3 5 2
    0 8 1 5 5 1 8 8 4 7 5
    5 3 4 7 2 0 0 0 0 0 8
    4 3 7 8 2 2 6 4 0 0 3
    0 0 0 8 6 7 4 6 8 5 0

    Project 1 Task
     Task Breaking down
    1. Read the data into memory using file operations.
    2. For the first S rows, put every element from the same row of the matrix into
    a new linked list, so you will have S linked lists.
    3. For every link list, implement the f function to calculate the walking
    distances and record this distances into a linked list d.
    4. Repeat the same operations for the rest rows (M-S).
    5. Plot the curve with matlab about the values of d.
    6. A written report is required.
     Due date: Sep. 28th, 2009.

    Project 1 (Intlist.h)
    #ifndef __intlist_h__
    #define __intlist_h__
    /* each entry in the list contains an int */
    typedef struct intlist {
    int datum;
    struct intlist *next;
    } INTLIST;
    INTLIST *init_intlist( int n ); /* initializes the intlist with initial datum n */

    int insert_intlist( INTLIST *lst, int n ); /* Inserts an int (n) into an intlist from the beginning*/
    void list_append(INTLIST *list, void *datum); /* Inserts entry to the end of the list */
    Void list_front(INTLIST *list); /*return the element at the front of the list, and remove it from the
    list*/
    void list_map( INTLIST *list, void (*f)(void *) ); /*Applies a function to each element of the list */
    void list_delete( INTLIST *list ); /* Deletes (and frees) all entries in the list */
    #endif

    Project 1
     Intlist.c

    #include <stdlib.h>
    #include “intlist.h”
    /* initializes the intlist with initial datum n */
    INTLIST *init_intlist( int n ) {
    INTLIST *lst;
    lst = (INTLIST *)malloc(sizeof(INTLIST));
    lst->datum = n;
    lst->next = NULL;
    return lst;
    }
    Project 1
     myprogram.c

    #include <stdlib.h>
    #include “intlist.h”
    /* execution starts here */
    int main() {
    INTLIST *lst;
    lst = init_intlist(1);

    insert_intlist( lst, 2 );
    free( lst );
    return 0;
    }

    Project 1
     Makefile: putting everything together

    CC=gcc
    CFLAGS=-Wall -g
    LIBS=-lreadline -lm
    OBJS=intlist.o
    INCLUDES=common.h
    all: $(OBJS)

    $(CC) $(CFLAGS) $(OBJS) $(LIBS) -o myprogram
    .c.o: $*.h $(INCLUDES)
    $(CC) $(CFLAGS) -c $*.c
    clean:
    rm -f *.o myprogram

  17. #17
    کاربر جدید
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    مشهد
    پست
    11

    نقل قول: لیست پیوندی در C

    سلام
    اينم يه برنامه ديگه با ليستهاي پيوندي كه آدرس هر نود رو در فايل ثبت ميكنهPHON-file2.rar

  18. #18

    نقل قول: لیست پیوندی در C

    خسته نباشید عزیران اگه میشه منو راهنمایی کنید ممنون
    برنامه ای بنویسید برای کالای یک انبار شامل 1000 نوع کالا یک لیست پیوندی یک طرفه با مشخصات نام - نوع- قیمت - تعداد کالا ایجاد کند . موارد زیر را انجام دهد
    1) ایجاد کلاس کالا و ساخت لیست
    2)نمایش تمام کالاها و نیز کالا های تمام شده
    3) جستوجوی کالا بر این مشخصات ==> جستوجوی نام کالا ( توابع رشته ای) -کد کالا
    ممنون میشم منو راهنمایی کنید دوستان عزیز

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •