C言語随筆小アルゴリズム:一方向リンク表


C言語随筆小アルゴリズム:一方向リンク表
参照リンク:
コード参照:https://blog.csdn.net/go_サンサン/articale/detail/80508284
原理参照:https://blog.csdn.net/kangxidagege/article/details/80211225
 
リンクされた文書は非常に優秀で、作者は以前データ構造を実現したことがあります.今は簡単に思い出を蓄積して、添削と並べ替えを書きません.
コードコンパイル検証OK
コード:
#include "stdlib.h"
#include "stdio.h"
#include "malloc.h"


//          

typedef struct STUDENT
{
    int age;
    int score[3];
    char *name;
	int order;
} student, *_pstudent;


/*
**     
*/
typedef struct NODE
{
    struct STUDENT element;			//    
    struct NODE *next;				//  ,          struct NODE*
} node, *_pnode;



/******************************************************************************
 *  Function    -  Tracker_Get_IMEI_Req
 *
 *  Purpose     -      num        
 *
 *  Description -
 *
 * modification history
  * ----------------------------------------
 * v1.0  , 2011-11-02, ysheng  written
  * ----------------------------------------
 ******************************************************************************/
_pnode initCreate(int num);

/******************************************************************************
 *  Function    -  Tracker_Get_IMEI_Req
 *
 *  Purpose     -       
 *
 *  Description -
 *
 * modification history
  * ----------------------------------------
 * v1.0  , 2011-11-02, ysheng  written
  * ----------------------------------------
 ******************************************************************************/


/******************************************************************************
 *  Function    -  Tracker_Get_IMEI_Req
 *
 *  Purpose     -      num        
 *
 *  Description -
 *
 * modification history
  * ----------------------------------------
 * v1.0  , 2011-11-02, ysheng  written
  * ----------------------------------------
 ******************************************************************************/
_pnode initCreate(int num)
{
    struct NODE *head = NULL;			//     
    struct NODE *normal_node = NULL;	//      
    struct NODE *tail = NULL;			//     

    int i = 1;

   
    /*3.      */
    for(i = 1; i < num + 1; i++)
    {
        normal_node = (node *)malloc(sizeof(node));
		if(head == NULL)
		{
			head = tail = normal_node;
		}
        normal_node->element.order = i;
        printf("initCreate()-->>  %d   !
", i); tail->next = normal_node; // next tail = normal_node; // tail } tail->next = head; // head , printf("initCreate()-->> !
"); return head; } // --> /************************ 7 |6 |5 |4 |3 |2 |1 | 0 ************************/ // --> void main(void) { _pnode head = initCreate(6); }