プログラミングC: 投稿 13 – カーソルに関連付けられたリストにインストールしたアプリケーション
コンテンツ
リンクのリストは、アレイまたはポインタに設置することができる. この記事では、カーソルを使用するようにご案内します :), シングルリンクリストと呼ばれるこのリストを入力
以前の記事で私はコードを書いたすべての標準的なCです, しかし上の、今から私はあなたのファイル* .cppファイルにオフラインでコーディングする必要があり、この記事でC 構造体のビットを散在されます.
次のようにリンクのリストを記述することができる:

データは、各ノード内のデータである, 学生であってもよい, 労働者,… (項目種別, と私は単純な整数を行う), 次の次の要素へのポインタです.
[qads]
1. リストをインストールします。
typedef int item; //kieu cac phan tu dinh nghia la item typedef struct Node //Xay dung mot Node trong danh sach { item Data; //Du lieu co kieu item Node *next; //Truong next la con tro, tro den 1 Node tiep theo }; typedef Node *List; //List la mot danh sach cac Node
2 空のリストを初期化します
void Init (List &L) // &L lay dia chi cua danh sach ngay khi truyen vao ham { L=NULL; //Cho L tro den NULL }
私たちは通過するための関数の値を変更することができます以前の記事で私たちはしばしば、ポインタ変数を使用します (*) と関数呼び出しは、我々は必要とする & 我々はできるだけ早く伝達関数が最初の関数で初期化されるようにアドレスを使用するときにターンする前にしかしアドレスにすることなく、私たちの通常の動作段変速機を呼び出す (もっと &) 再び電源を入れる前に、.
(これは、C で関数内の変数にテレビアドレスです。)
3 リストが空であるかどうかチェックする
これはから多くのことを説明して:
int Isempty (List L) { return (L==NULL); }
4 リストの長さを計算する
私たちは、使用 1 最初から最後までナビゲートするノード, ブラウズカウント
int len (List L) { Node *P=L; //tao 1 Node P de duyet danh sach L int i=0; //bien dem while (P!=NULL) //trong khi P chua tro den NULL (cuoi danh sach thi lam) { i++; //tang bien dem P=P->next; //cho P tro den Node tiep theo } return i; //tra lai so Node cua l }
5 作る 1 ノードリスト
作成 1 リストに含まれるノード情報は挿入することが容易になります, 以上のリストを削除し、管理する. まず、データノードにメモリを割り当てる必要がありますし、[OK]になるように割り当て
Node *Make_Node (Node *P, item x) //tao 1 Node P chua thong tin la x { P = (Node *) malloc (sizeof (Node)); //Cap phat vung nho cho P P->next = NULL; //Cho truong Next tro den NULL P->Data = x; //Ghi du lieu vao Data return P; }
6 最初の場所でのノードPを挿入します
Lへの私たちの最初の点Pのためのリストの一番上にPを挿入するには, その後のみPのLポイントのokです

void Insert_first (List &L, item x) //Chen x vao vi tri dau tien trong danh sach { Node *P; P = Make_Node(P,x); //tao 1 Node P P->next = L; //Cho P tro den L L = P; //L tro ve P }
7. リスト内の位置kでノードPを挿入します
まず、挿入位置が有効であるかチェックする, 有効なテストは、所定の位置に挿入する場合 1 そこにK> 1 . K> 1のために我々は、位置K-1 [ノードへのP-> Q-次のポインタ>次に、ノードQブラウズを行う, 次Q->次のポイントにPへ

void Insert_k (List &L, item x, int k) //chen x vao vi tri k trong danh sach { Node *P, *Q = L; int i=1; if (k<1 || k> len(L)+1) printf("Vi tri chen khong hop le !"); //kiem tra dieu kien else { P = Make_Node(P,x); //tao 1 Node P if (k == 1) Insert_first(L,x); //chen vao vi tri dau tien else //chen vao k != 1 { while (Q != NULL && i != k-1) //duyet den vi tri k-1 { i++; Q = Q->next; } P->next = Q->next; Q->next = P; } } }
8 リストに含まれるxの要素の値を探す
私が見つけるまでリストをブラウズしたり、終了し、見つかった場合は位置を返します, それ以外の場合は返し 0
int Search (List L, item x) //tim x trong danh sach { Node *P=L; int i=1; while (P != NULL && P->Data != x) //duyet danh sach den khi tim thay hoac ket thuc danh sach { P = P->next; i++; } if (P != NULL) return i; //tra ve vi tri tim thay else return 0; //khong tim thay }
9 最初の場所で要素を削除
まず、変数xに最初の要素の値を格納, 次に、[次へ> LにL点に進む

void Del_frist (List &L, item &x) //Xoa phan tu dau tien { x = L->Data; //lay gia tri ra neu can dung L = L->next; //Cho L tro den Node thu 2 trong danh sach }
10. 位置kでクリア四半期
K kを無視して次の四半期に位置PのK-1への参照を使用して、P-に進み>次のポイント. 図には注意してください削除するあなたの値を保存するのを忘れたが、最初の場所で削除されたように、あなたはそれを保存する必要があります.

void Del_k (List &L, item &x, int k) //Xoa Node k trong danh sach { Node *P=L; int i=1; if (k<1 || k>len(L)) printf("Vi tri xoa khong hop le !"); //kiem tra dieu kien else { if (k==1) Del_frist(L,x); //xoa vi tri dau tien else //xoa vi tri k != 1 { while (P != NULL && i != k-1) //duyet den vi tri k-1 { P=P->next; i++; } P->next = P->next->next; //cho P tro sang Node ke tiep vi tri k } } }
11. 要素値xを除去する
簡単に言えば、我々は我々が得ることを見つけるために位置の関数を検索することにより、リスト内のxを見つけて削除する
void Del_x (List &L, item x) //xoa phan tu x trong danh sach { while (Search(L,x)) Del_k (L,x,Search(L,x)); //trong khi van tim thay x thi van xoa }
12. 完全なプログラム (フル)
#include<stdio.h> #include<stdlib.h> typedef int item; //kieu cac phan tu dinh nghia la item typedef struct Node //Xay dung mot Node trong danh sach { item Data; //Du lieu co kieu item Node *next; //Truong next la con tro, tro den 1 Node tiep theo }; typedef Node *List; //List la mot danh sach cac Node void Init (List &L); //khoi tao danh sach rong int len (List L); // Do dai danh sach Node *Make_Node (Node *P, item x); //Tao 1 Node P voi thong tin chu trong no void Insert_first (List &L, item x); //Chen phan tu vao dau danh sach void Insert_k (List &L, item x, int k); //Chen phan tu vao vi tri k trong danh sach void Input (List &L);//Nhap danh sach void Output (List L);//Xuat danh sach int Search (List L, item x); //Tim phan tu x trong danh sach, ham tre ve vi tri cua phan tu tim duoc void Del_frist (List &L, item &x); //Xoa phan tu dau danh sach void Del_k (List &L, item &x, int k); //Xoa phan tu vi tri k trong danh sach void Del_x (List &L, item x);//Xoa phan tu co gia tri x trong danh sach void Init (List &L) // &L lay dia chi cua danh sach ngay khi truyen vao ham { L=NULL; //Cho L tro den NULL } int Isempty (List L) { return (L==NULL); } int len (List L) { Node *P=L; //tao 1 Node P de duyet danh sach L int i=0; //bien dem while (P!=NULL) //trong khi P chua tro den NULL (cuoi danh sach thi lam) { i++; //tang bien dem P=P->next; //cho P tro den Node tiep theo } return i; //tra lai so Node cua l } Node *Make_Node (Node *P, item x) //tao 1 Node P chua thong tin la x { P = (Node *) malloc (sizeof (Node)); //Cap phat vung nho cho P P->next = NULL; //Cho truong Next tro den NULL P->Data = x; //Ghi du lieu vao Data return P; } void Insert_first (List &L, item x) //Chen x vao vi tri dau tien trong danh sach { Node *P; P = Make_Node(P,x); //tao 1 Node P P->next = L; //Cho P tro den L L = P; //L tro ve P } void Insert_k (List &L, item x, int k) //chen x vao vi tri k trong danh sach { Node *P, *Q = L; int i=1; if (k<1 || k> len(L)+1) printf("Vi tri chen khong hop le !"); //kiem tra dieu kien else { P = Make_Node(P,x); //tao 1 Node P if (k == 1) Insert_first(L,x); //chen vao vi tri dau tien else //chen vao k != 1 { while (Q != NULL && i != k-1) //duyet den vi tri k-1 { i++; Q = Q->next; } P->next = Q->next; Q->next = P; } } } int Search (List L, item x) //tim x trong danh sach { Node *P=L; int i=1; while (P != NULL && P->Data != x) //duyet danh sach den khi tim thay hoac ket thuc danh sach { P = P->next; i++; } if (P != NULL) return i; //tra ve vi tri tim thay else return 0; //khong tim thay } void Del_frist (List &L, item &x) //Xoa phan tu dau tien { x = L->Data; //lay gia tri ra neu can dung L = L->next; //Cho L tro den Node thu 2 trong danh sach } void Del_k (List &L, item &x, int k) //Xoa Node k trong danh sach { Node *P=L; int i=1; if (k<1 || k>len(L)) printf("Vi tri xoa khong hop le !"); //kiem tra dieu kien else { if (k==1) Del_frist(L,x); //xoa vi tri dau tien else //xoa vi tri k != 1 { while (P != NULL && i != k-1) //duyet den vi tri k-1 { P=P->next; i++; } P->next = P->next->next; //cho P tro sang Node ke tiep vi tri k } } } void Del_x (List &L, item x) //xoa phan tu x trong danh sach { while (Search(L,x)) Del_k (L,x,Search(L,x)); //trong khi van tim thay x thi van xoa } void Input (List &L) //nhap danh sach { int i=0; item x; do { i++; printf ("Nhap phan tu thu %d : ",i); scanf("%d",&x); if (x != 0) Insert_k(L,x,len(L)+1); } while(x != 0); //nhap 0 de ket thuc } void Output (List L) //xuat danh sach { Node *P=L; while (P != NULL) { printf("%5d",P->Data); P = P->next; } printf("\n"); } int main() { List L; Init(L); Input(L); Output(L); int lua_chon; printf("Moi ban chon phep toan voi DS LKD:"); printf("\n1: Kiem tra DS rong"); printf("\n2: Do dai DS"); printf("\n3: Chen phan tu x vao vi tri k trong DS"); printf("\n4: Tim mot phan tu trong DS"); printf("\n5: Xoa phan tu tai vi tri k"); printf("\n6: XOa phan tu x trong DS"); printf("\n7: Thoat"); do { printf("\nBan chon: "); scanf("%d",&lua_chon); switch (lua_chon) { case 1: { if (Isempty(L)) printf("DS rong !"); else printf ("DS khong rong !"); break; } case 2: printf ("Do dai DS la: %d.",len(L));break; case 3: { item x; int k; printf ("Nhap phan tu can chen vao DS: "); scanf("%d",&x); printf ("Nhap vi tri can chen: "); scanf ("%d",&k); Insert_k (L,x,k); printf ("DS sau khi chen:\n"); Output(L); break; } case 4: { item x; printf ("Moi ban nhap vao phan tu can tim: "); scanf("%d",&x); int k=Search(L,x); if (k) printf ("Tim thay %d trong DS tai vi tri thu: %d",x,k); else printf ("Khong tim thay %d trong danh sach !",x); break; } case 5: { int k; item x; printf ("Nhap vi tri can xoa: "); scanf ("%d",&k); Del_k (L,x,k); printf ("DS sau khi xoa:\n"); Output(L); break; } case 6: { item x; printf ("Nhap phan tu can xoa: "); scanf ("%d",&x); Del_x (L,x); printf ("DS sau khi xoa:\n"); Output(L); break; } case 7: break; } }while (lua_chon !=7); return 0; }
[ポストをRPS-含ま=”2703″ ショートコード=”偽”]
こんにちはホスト, 黄砂ベトナムラットカイtietのVA tiのマイル. おかげでホストは、みんなと一緒に時間デシェアを費やし.
私は質問を持っています: 空洞のInit (リスト &L) オペレーターなしのCのように見えます & に渡されたパラメータ 1 機能, このメソッドは、C ++を使用しています. Nho host check lai gium 🙂
私は、このインテリジェントな漫画のようにCの実装の構造を使用したい場合 (リストL *) 右のホスト?
[はい. 🙂
Bài này làm sao a Quân
Cho một danh sách liên kết đơn có nút đầu danh sách trỏ bởi p. Giá trị của trường INFO trong các nút giả sử là các số khác nhau và các nút đã được sắp xếp theo thứ tự tăng dần của giá trị này. Hãy viết hàm để thực hiện:
– Bổ sung một nút mới mà trường INFO có giá trị là X, vào danh sách.
– Loại bỏ một nút mà trường INFO có giá trị bằng K cho trước.
ようこそ、, 奨励していただきありがとうございます. 初めに私がいることをあなたに伝えていました: “以前の記事で私はコードを書いたすべての標準的なCです, しかし上の、今から私はあなたのファイル* .cppファイルにオフラインでコーディングする必要があり、この記事でC 構造体のビットを散在されます”
私の友人は一人で自分TEO尋ね, ない運動に関連するが、どのように環境エディタのC ++コードにこれらの親愛なるを取得します?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
空洞Insert_k (リスト &L, 項目X, int型のK) //リスト内の位置に陳k個のX
{
ノード* P, *Q = L;
I = 1 int型;
もし (のみ(L)+1) printfの(“Viにトライチェンコーンホップル !”); //キエムTRAデューKIEN
ほかに
{
P = Make_Node(P,X); //男 1 ノードP
もし (K == 1) Insert_first(L,X); //陳VAO VIトライDAUティエン
他//チェンVAO K != 1
{
同時に (Q != NULL && で != K-1) //duyetデンVIトライK-1
{
私 ;
Q = Q->次;
}
P->次= Q->次;
Q->次= P;
}
}
}
番号1,2,3,4,5,6… ý bạn ạ 🙂 Cảm ơn bạn nhá
お使いのコンピュータ上のエディタを尋ねたり、ウェブ上で書きました?
お使いのコンピュータが求められている場合 (検索Google) 行番号を表示するために使用されているものに応じて. DEV-CでVD表示行番号.
あなたがウェブ上にある場合、あなたは、プラグインが表示されたコードを参照してくださいNHE, VD彼らのWordPressはSyntaxHighlighterを使います, あなたはここを参照してください:
https://www.cachhoc.net/2014/06/18/wordpess-hien-thi-code-tren-wordpress-voi-syntax-highlighted-posting-source-code-on-wordpress-with-syntax-highlighted/
この. 私は学習を書き換える.C拡張子を保存します , それは、DCを実行しません。 . 今、その実装はNTNの操作を行う必要があります投稿.Cする.cppファイルからの移動したいです . HUHU
次に、CスタイルのポインタにC ++における参照型に切り替えることです.
私は、削除機能ノードに不思議のメモリを解放しませんでした (ザ・) このノード. このような無駄な正しい彼の記憶? ありがとう.
[はい. フィードバックをいただきありがとうございます. 私はすぐに修正されます.
こんにちは, theo như bạn Hoàng Duy đã nói phía trên, thì mh k giải phóng thì gây lãng phí, nhưng e có thắc mắc là mh khai báo cái Node đó trong hàm, vậy nó là biến cục bộ, khi thoát hàm nó sẽ biến mất… không biết ý e như v có đúng k nữa. mong anh giải thích thêm. e cảm ơn anh. :))
ああカーソルの下かではない変数を宣言するために、この必要性について. 例えば注* Pがポインタである場合、失うことはありません.
彼が作成したサイトを尋ねました 1 ノードを残します *, *Make_NodeレビューA
実行関数が戻ります 1 構造体へのポインタ – すなわち 1 あなたのノード.
hi a, a giúp e được k ạ
ザ·) Tạo một ngăn xếp bằng danh sách liên kết gồm các số tự nhiên ( số phần
tử do người dùng nhập vào)
B) Đếm xem trong trong ngăn xếp có bao nhiêu phần tử thỏa mãn điều kiện
chia hết cho 3
私はグエン・ヴァン・クアン敬礼しました. 割り当てを行うとき、私はちょっとしたトラブルを抱えています. あなたがgiùm答えるホープ!!! お問い合わせの問題は、整数上の多項式でオペレーションを用いて計算しました. あなたは、ADD操作のファイル入力機能と定義を読むためにコードを記述する必要があります ,SUB, MUD, DIV, MOD.
左から右への動作順序を行い、このinvovled使用数学式構造は多項式を含まない区別, 多項式は、単峰性とリンクされたリストが含まれています.
例:INPUT.TXT:
1 3 6 2 -3 0 ///X ^ 3 + 6 * xの^ 2-3
ADD
6 2 -7 1 4 0 ///6*X ^ 2-7 * X + 4
DIV
1 2 -1 1 ///X ^ 2-xの
出力されます:
1 1 13 0 ////X + 13
(さらには、前の操作を追加された実行順序, DIVのSAU). 行毎にファイルを読み込む場合、変数のint型のK = 0 奇数は単峰性である最初の実行ファイル係数kからオン, でも、指数K単峰など. ので、どのように一緒にアプリケーションを接続し、多項式でそれを形成するために?!?
私はあなたの答えを受け取ることを楽しみにして!!!
私はどうもありがとうございました!!!
このタイプのインストールは、式ツリーを必要とします, しかし、後悔、それはあなたのために何かを助けることができないについて学ぶべきではない彼の現在に謝罪.
はい,
ありがとう !
ウェイター,あなたは、ツリーにエントリを追加することができます,検索アルゴリズムとグラフKO先生?
フェンネルは、ここでいくつかのポストを持っています: https://www.cachhoc.net/category/thuat-toan/cay/
グラフにもいくつかの: https://www.cachhoc.net/category/thuat-toan/do-thi/
もはやつ星のレビューを探していません, sẽ cố gắng viết 😉
Anh Quân cho em hỏi là tại sao có lỗi
エラー 2 error C4700: 初期化されていないローカル変数 'P’ 中古
このA, 部屋の前に彼らはまだ実行されません. 私は感謝します.
これは、初期化されていない変数Pああ報告されています.
giải quyết cái này bằng cách nào vậy bạn?
割り当てが明確でああではないながら、リンクされたリストまたは特性のリストを使用する方法を知って自問してみてください?
しばしば言及したが、割り当ては、そうでなければ、データと操作の種類の特性に応じだろう. 例えば、データは固定されず、任意の時点で追加または削除することができ、リンクされたリストを使用し、その逆.
自問してみてください, あなたはいくつかのコンテンツなどdslkを構築し、あなたは彼らがコードを書き換える必要はありません他の構造を使用したい場合は、ノード構造でそれを定義することができる場合ではありません? それはその後、NTNが定義されている場合??? =]]
ああ、あなたはまあ, あなただけのアイテムの種類を変更する必要があります (自身がint型であるために) 他のタイプ (フロート, 構造体…) 終了した (ああ, 彼らはまた、あなたのタイプNHEのためのより多くを記述する必要があり、独立したインポートおよびエクスポートの機能を記述する必要はありません)
– 顎Insert_k上のすべてのです自問してみてください, レビューサイトの条件、理由であります “へ>のみ(L)+1” そう ?
最高経営責任者(CEO: 持っている 3 ウールの下に機能素子、ウール= 3, 私は、k個のフォローを考えます>3 DC, なぜkは>3+1?
– 非常にやりがいの記事, おかげで共有します.
位置があるため 1,2,3 あなたが所定の位置に挿入することができます 1,2,3,4 しかし、場合にのみ> K、そこではありません 4 (最終DS)
ああ, 感謝
彼の記事は非常に詳細であり、. ありがとうございました
ありがとう. オフラインお友達にそれを共有してください
彼のように、出力ウェイターは、それは間違っていました. 私はVSでテスト 2015 それは正しい結果を出てきません.
この上のDev-Cコードを自分がああ、他のあなたとすることができます.
だから、どのように今では、その出力をすることが、彼 ? 私はいくつかの人々を修正しようとしましたが、それは結果ではなかったです.
これだけでは不明であるためにユーザーなかっ対.
パスカルDCことで、この記事を書くために、いくつかの医師は、電子のk個の電子のr個の被検者に手紙を書きました
🙁
Phunghoang070393@gmail.com デンタルケア提供者
A cho e hỏi chút.bây giờ em muốn sử dụng mảng cho DSLK đơn thì làm thế nào ạ?
Bạn xem bài 12 nhá.
strcmpの(X,” “) nghĩa là sao vậy anh !!
Nghĩa là so sánh x vs dấu cách.
a cho em hỏi là e chạy trên code block mà nó không dừng phần nhập phần tử thì lỗi ở đâu ạ. cứ chạy mãi nhập phần tử thứ …
あなたは、停止条件が単独でそれに基づいているかを見ます
時には上記の使用なぜ私に尋ねました ” リスト” 時々使用 “ノード* ” . 2 何が違うのこれはありません ?
リストには、自身がほのめかしれます 1 リスト, NODE *自身が言及しました 1 NODEポインタ型. それ本質的に同じであるがしかし、どのように我々はあなたの原因NaOD中を使用.
* Aのよう, *B. 私たちは、このようなAを使用することができます 1 プレート 1 夜, bがポインタint型であるが.
イギリス陸軍は、私はOIは例えば、それらは、Aどのように名前のリストを入力したかったです?
あなたはint型されていない構造体の項目がDJKで再定義します.
私は右の部分を聞いてみよう 8. pが存在する間の条件で設立 != NULL, 島一方、p型の状態にしながら、あなたが行うことができますので、>次 != NULL, 何のデータ入力は空のリストおりませんので、.
彼の話のいかなる部分も、空のdsはあなたが慎重に検討する必要があるのではないではありません. そして、あなたが言うように、あなたのコードはまだDJK保証されている場合
私はAのxどこで貴重な要素を見つけることがわかりません?
あなたはどのように理解していません…
私はで聞いてみよう 7 , シフトされる彼の後、ポインタLを実行した後に彼が作成することができます | ノード * Q = L; Lを挿入するために彼の復帰を行った後= qはありません?
必要に応じて次のことができます
彼はMake_nodeジョーを与えた理由を私は聞いてみましょうP->次に=ヌルその後、彼は関数の挿入ノードのために残っどこP->次= L ( ここで、L = NULL) 彼は? 2 この場所違うので
Lは、私のリストであります. それはあなたをゼロにした場合には?
Daがイエスサー電子eはそこにそれを得ます 1 機能Insert_kとして書いた中で多くの質問 :
同時に (Q != NULL && で != K-1) //duyetデンVIトライK-1
{
私 ;
Q = Q->次;
}
P->次= Q->次;
Q->次= P;
承認されるまで、すなわちQ-> 次の= nullをミリ秒thôi, これはP->make_nodeジョー、次の利用可能= NULL、あなたは行を削除することができP->次= Q-> 次のとQ->DC次= Pではありません?
私の. また、技術的な条件の私をすくめ!= K-1再び. Q->その他の可能性は低い次はnull
私はなぜ聞いてみよう 2 コンテンツを削除 (一部 9,10) 削除コマンドは常にません. EMは理解よると、 2 その部分は、単にリストからノードを削除のみ, しかし、そのノードがまだメモリ内に存在しています (その理由は、カーソルの種類です)?
deleteコマンドは、コマンドあなたです.
電子彼は彼のメモリ解放を望んだと思います, そことして 1 あなたが貢献できる上記. :))
この電子eがソースが対上で実行されているコピーなぜ依頼するobiter 10 再入力kのDCへの適切なタイミング, そのエラー: “変数「P’ 初期化されずに使用されています。” どうやらによる初期化されていない値に, しかし、デュアルdslkのポストにそしてkはsがあります… 再びSで私が知っているk個 :(( あまりにも戸惑い. レビュートライアルgiùmeを期待します, ありがとう :]]
私はそうではないことを確認、なぜ対再使用しないでください.
Eは、提供しました, 初期化リストが空であるにthavsが収縮Fを受けるが、非常に良い記事です, L次いでSIRを行うために使用されるポインタ参照を再生さ ,eはあなたの先生に感謝します
L関数を出るために変更することができます. あなたは、L = NULLを使用する機能のリファレンスでそれを使用しない場合
eは、バルブを読み違えていません, 試験は、それがまだDCを変更することができ、トンネルの外にポインタを渡す証明しながらそうではありません?
しかし、これは彼のUknポインタカーソルです
はい先生の感謝F
私はで聞いてみよう 5, 作る 1 ノード、オペレータ * 前の仕事関数名、何でしたか?.
事前にありがとう
それはリターンを意味し、 1 ポインタ
親愛なる友人. 自分でいくつか確認して下さい. 私はあなたのコード内でバラバラにしています. つまり彼の分離の空のリスト, これらの要素を入力するときに入力します。 0 終了しますが、それは入力された要素をプリントアウトしていません. それでは、どのようにインポートされた要素がある印刷します. ありがとう
私は本当にあなたが何を意味するかを理解していません. 彼の側にもそのような機能を分割します
あなたの愛します,自分で尋ねます,星はそれほど速くない自分自身を示し、,そこ
あなたは自分でKOエラーを送信することができます?
あなたのプログラムを実行するとき, それはとして表示されます:第一要素に署名し、自身がそう結合し、プログラムへの彼のコールが第二の要素を入力し終えました,停止しません,あなたは自分自身歯科医を支援します,そこ
あなたは、停止条件を参照してくださいNHE. 入るまで 0 その後、停止.
私は聞いてみよう [警告] 「typedefは’ この宣言では無視されました [デフォルトで有効にします]. はいていないプログラムに影響 ?
なぜPのメモリ割り当ては、当社のエラーとInsert_firstとInsert_kに入れていないokであっても、使用することはできないでしょう
最高経営責任者(CEO): ノード*のMake_Node (ノード* P, 項目X) //男 1 ノードPのチュアひもスズ・ラ・X
{
P = (ノード *) のmalloc (はsizeof (ノード)); //Pのためのメモリを割り当て
P->次回= NULL; //NULLへの学校のポイントの隣に
P->データ= X; //データにデータを書き込み
Pを返します;
}
無効Insert_first (リスト &L, 項目X) //リストの最初の位置に陳X
{
ノード* P;
P = Make_Node(P,X); //男 1 ノードP
P->次回= L; //LへのPのポインティング
L = P; //LのTROはP VEの
}
空洞Insert_k (リスト &L, 項目X, int型のK) //リスト内の位置に陳k個のX
{
ノード* P, *Q = L;
I = 1 int型;
もし (のみ(L)+1) printfの(“Viにトライチェンコーンホップル !”); //キエムTRAデューKIEN
ほかに
{
P = Make_Node(P,X); //男 1 ノードP
もし (K == 1) Insert_first(L,X); //陳VAO VIトライDAUティエン
他//チェンVAO K != 1
{
同時に (Q != NULL && で != K-1) //duyetデンVIトライK-1
{
私 ;
Q = Q->次;
}
P->次= Q->次;
Q->次= P;
}
}
}——-> 実行されません !
例え:
無効Insert_first (リスト &L, 項目X) //リストの最初の位置に陳X
{
ノード* P;
P = (ノード *) のmalloc (はsizeof (ノード)); //Pのためのメモリを割り当て
P->次回= NULL; //NULLへの学校のポイントの隣に
P->データ= X; //データにデータを書き込み
P->次回= L; //LへのPのポインティング
L = P; //LのTROはP VEの
}
空洞Insert_k (リスト &L, 項目X, int型のK) //リスト内の位置に陳k個のX
{
ノード* P, *Q = L;
I = 1 int型;
もし (のみ(L)+1) printfの(“Viにトライチェンコーンホップル !”); //キエムTRAデューKIEN
ほかに
{
P = (ノード *) のmalloc (はsizeof (ノード)); //Pのためのメモリを割り当て
P->次回= NULL; //NULLへの学校のポイントの隣に
P->データ= X; //データにデータを書き込み
もし (K == 1) Insert_first(L,X); //陳VAO VIトライDAUティエン
他//チェンVAO K != 1
{
同時に (Q != NULL && で != K-1) //duyetデンVIトライK-1
{
私 ;
Q = Q->次;
}
P->次= Q->次;
Q->次= P;
}
}
}————>[OK]を実行し、その後
イングランドは前方に説明してください.
ありがとうございます !
ああ, 私はあなたのアイデアを理解します, しかし、そのことは明らかでエラー, エラーをすることによって、構文エラーコードすることができますが原因である可能性があり. あなたは説明できないはずです.
データ宣言部、なぜ常にではないため : int型データHA A ?!!
彼の後のデータ型の柔軟性を変更するには
項目は、データ型の構造体である場合には、上顎の変化がどのようにA? 特に検索機能A
彼はパスカルkのリンクリストのすべてを持っています?
どうやらありません :3
私は彼があなたにそれを説明することができ非常に多くの機能チェックの中空を理解していないことではありません ?
L == NULLの比較はtrueを返します (1) となりました (0). したがって、それは値が含まれており、一つは、常に、常にそれを返すことができます.
申し訳ありませんが、あなたはバグや間違ったを持っています~~
ありがとう, あなたはエラーがどこにあるか私たちに知らせてくださいとどのようにではありません. trueの場合、私は、エラーを修正します. 🙂
私がko電子のDKを説明するためにサイトのデータエントリーリストをHIUはありません
私は感謝します
退職のリストについては、あなたのデータが入力された値を入力します。
HÌnh一環として、 1 現在 7 問題を抱えています:
typedefのノード*リスト;
全体構造上のように書く場合、ノードタイプとして定義されます “*リスト”, 記号 * この時間は、唯一の文字列として機能します “*リスト”. だから、文字列全体をもたらすために “*リスト” 他の要素を定義するために行きます.
//falseの場合は、同情を期待 :))
マーク * それはつまり、ポインタではなく、軽鎖.
彼は、L = NULLはNULL Lを指すようにある注釈付き;
// なぜLのprintfのアドレスで(“%D”,L); それが出てきました 0(NULL) サー ? だから、NULL Lのアドレスです。, あるいはどこそれが指します. :/
彼を提供しています, 純粋なC C、C ++を書きますが、注釈なしの組み合わせを引っ張らないでください, 私はそうです少し押しました
私は記事の中で述べているすべてからです 13 私はそれを簡単かつビットをコードします.
ウェイターは、あなたがmalloc関数を使用したメモリ領域を割り当て, 彼らは、C#で書かれています, 私は、malloc関数のKO先生の交換のためのいくつかの機能を知っています ?
あなたは星を見るのcalloc使用することができます. そのC#がえっその後、関数mallocやcalloc必要はありません。?
標準のCコードで記述された場合は念頭に置いて設定リストで自分の質問には、彼らはNTNの先生を書きます? cのみで書かなければならない私は、標準のC LTで勉強しています++彼はのためにコードを書くために彼の軍隊を恐れDC .Mong k個
なし標準C関数を書きます & それが使用さ * それがポインタであることを示すために. 関数を呼び出し、使用 &.
VDビルド置換関数
無効hoanVi(int型* A, int型* B)
…
コール機能: hoanVi(&X, &と);
誤解彼の軍隊のR. 私は、最初の部分のレビューにお願いしたかったです, インストール時にDS、符号化タイプC G. I警官アウトとDEVC上で実行するが、それはノード*リストのtypedefために失敗した場合ので、. DCのC kの上で動作しているとき力がDCは、このエラーを修正しました
Muốn sửa mình cần biết nó báo lỗi gì mới sửa được 🙂
Ad ơi k có code cho mấy cái hàm trao đổi hay sẵp xếp node à ad?
Ah phần đó không có nhé.
Anh cho em hỏi đoạn code này
typedef struct Node //リスト内のノードをミックスします
{
アイテムデータ; //場所コキエウアイテムから
ノード*次へ; //Truongは次にそれを満たします, それを信じる 1 Node tiep theo
};
C言語コードの場合はこの段落(file.c) エラーを報告します “ノード内のノードがわからない*次へ ”
C ++でも(file.cpp) 正常に動作しますか? ? Cで実行できるように修正する方法を教えてください ?
Cでは、最初に構造体を追加します.
struct Node * next;
ありがとうございます !
すごい! どうもありがとうございました
しかしながら, có cách nào xóa trực tiếp một phần tử có giá trị x mà không cần gọi đệ quy như cách anh giới thiệu không?
Không e nhé. Hoặc đến thời điểm này thì mình không biết 🙂
コンテンツint型を使用して、なぜxの値に関連した上顎で最愛の人 &X, int型のxそう先生を含みます. supercilious参照を使用するとき & サー??
あなたはアウト機能NHE後にxの値を保持したいとき.
私は先生と彼のコードが注文した部品の一部について彼に尋ねました!. 私が試みたが、成功していません, 私は主に頭と尾へのポインタ使用されるコードを参照してください。, すべての兄弟たちに適用され、このような書き方を知りません, 彼の助けを楽しみにして!. おかげで、あなたは非常に多くの!
私はちょうどそれの標準的な配列を検討します. プレートべき[で] と[J] 比較します, スワップ. しかし、ここで彼らはそれを作ります 2 ポインタpとqはに対応します[で], ザ·[J]. eは、適切なリンクにカットし、ポインティングしているスワップ.
自分の求めてはいる入力機能の場合 0 したがって、それはあなたが入力したい場合は、今停止します 0 、なぜ先生に?
次にあなた 1 その他の条件. VD入力 1 負の数はその後停止します…
こんにちは,
彼はなぜ、ボタンのコンストラクタに頼ま (ノード*のMake_Node) 彼は、関数ポインタ型を宣言するために使用しました? 宣言ので、どのような目的? そして、通常の関数PESのような関数を書くことができます?
関数リターンを望みます 1 カーソルは、書くべき. 欲望はint型を返すように、生ハム() そう.
あなたがするあなたを依頼するために私の広告 1 Cプログラムの要件が入力されています 1 テキストファイルとテキスト内のファイルの場所とファイルのすべての文字に出力 , その手紙には、どれだけの現在位置を与えられ、オーバーラップし、その行の一部にランク ..
私は、軍事アプリケーションにリンクされたリストシングルおよびデュアルリンクリストAを求め. 電子DSLKで使用される単一のスタックを表示, また、一般的に使用されるキューデュアルDSLK. 簡単にアクセスできるキューを使用している場合、なぜスタックサーを使用する必要があります. ありがとうA!
異なるアプリケーションをキューとスタックので、.
英国軍は私に先生に尋ねました
セクションには、位置kに要素xを挿入します, 彼の軍のコードだけで除算 2 ケース: 間に挿入, リストのトップを挿入
しかし、学生が学びます, 文書のようにPTIT, 彼らが分割しました 3 ケース: 最初のインサート, 間に挿入, リストの最後を挿入
それでは、どのように彼がすべき泉 ?
どれだけあまりにも持っています.
イブニング電子敬礼A. Eは、この問題を抱えた上で少しあります. Eはなかったが、それは唯一のDCを出力します 1 学生 . DC実行kは、残りの他の詩. 電子を助けたいという願望.
メニューを定義するには、リンクリスト構造を使用します 1 店舗リスト 1 学生のリスト.
情報SV学生IDを含めます, 脅威, ディエム , XLoai
ザ·) 便利なインポート機能 1 キーボードからdssv
B) プリントスクリーン機能は書いdssv
℃) 便利な検索機能 1 キーボードDCから入力された学生のID番号を持っているSV. 見つかった場合は、そのノードのアドレスを返します. それ以外の場合は、NULLを返します。
D) DSから削除顎を書きます 1 キーボードDCから入力された学生のID番号を持っているSV
と) 便利な追加機能 1 SV次の新しい要素がD内のアドレスを返します
F) 便利な追加機能 1 前のSV要素への新Dでアドレスを返します
G) 作る 1 メニューは、COGの実施に関する作業を選択することができます
こんにちは! 彼はとの彼の一番上のコードについて尋ねE.
1. リストL = NULLを初期化
– 割り当てない理由を尋ねましたL->L = NULLは次= NULLであります.
2. リストLの先頭にノードPを挿入, 仮定L = NULL
– PがNULLに指しているこの時間を尋ねたり、P->NULLの次のポイント.
ありがとうございます.
1. Lがリストされ、リストが代わりにnull = Lを初期化するために使用されなければなりません, L->次= NULL NULLに次の要素が長くどこ消えました.
2. P-> NULLポインタNHEの隣に, Pは、それだけの価値があるので、.
こんにちは, Eのためのプレゼンテーションは、あなたがこれを行うことができない私はスカッシュ、この段階までです:
学生は優秀な学生定格の最低平均スコアを持っていると述べました.
私は感謝します
私はポイントを持っているそれらの学生を検索する> Xが最小であるが、彼と一緒にOKでした. Xは、固体分類することです.
再帰的方法を使用してリンクリストのノード数を計算する関数を記述します
なぜ単一のリンクリストがあるのか聞いてみましょう,ダブル ,リング
それが目指すそれぞれ 1 さまざまな目的. あなたはより多くの参照のためにオンラインに行くことができます