#include<stdio.h>
#include<stdlib.h>
typedef struct time
{
    char year[5];
    char month[3];
    char day[3];
    struct time *next;
}Node;
Node *createLList(int );
Node *sortLList(Node *);
void print(Node *);
int main()
{
int n; 
Node *head,*newhead;
printf("请输入结点个数:\n")...
    
    
    
    
          ==========================
 功能:选择排序(由小到大)
 返回:指向链表表头的指针
==========================
*/
/*
 选择排序的基本思想就是反复从还未排好序的那些节点中,
 选出键值(就是用它排序的字段,我们取学号num为键值)最小的节点,
 依次重新组合成一个链表。
 我认为写链表这类程序,关键是理解:
 head存储的是第一个节点的地址,head->next存储的是第二个节点的地址;
 任意一个节点p的地址,只能通过它前一个节点的next来求得。
单向链表的选择排序图示:
---->[...
    
    
    
    
          /*
学生信息删除函数,删除指定学号的学生信息,
传递给该函数的实参是所建立的单链表的头指针L、要删除的学生学号。
若删除成功,返回值为1,否则,返回值为0。
*/
#include<stdio.h>
#include<stdlib.h>
#define N 2
typedef struct stud
{
    int num;
    char name[10];
    float score[N+1];
    struct stud *next;
}NODE;
NODE *create();
int Delete(NODE **p_hea...
    
    
    
    
          /*假设有两种微生物 X 和 Y
    X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
    一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。
    现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。 
    如果X=10,Y=90 呢? 
#include<stdio.h>
int main()
{
   long int x=10,y=89;
   for(int i=1;i<=120;i++)
   {
    if(i%2==1)
      y-=x...
    
    
    
    
          //用二分法查找数组中元素
#include<stdio.h>
#include<stdlib.h> 
#define N 15
int main()
{
	int arr[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
	int low=0;       //记录下标 
	int high=N-1;
	int middle;   
	int value;       //需要查找的数 
	int flag;
	printf("输入要查找数据:");
	scanf("%d",&value); 
	if(value...