#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...