📄 3.txt
字号:
#include<stdio.h>
#define MAXSIZE 100
typedef int datatype;
typedef struct
{datatype data[MAXSIZE];
int last;
}SeqList;
int n,i;
SeqList *CreatSeqList() /*输入数建立链表*/
{SeqList *q;
int x2;
q=(SeqList *)malloc(sizeof(SeqList));
printf("输入%d个数:\n",n);
while(i<n)
{scanf("%d",&x2);
q->data[i]=x2;
i++;
}
q->last=n-1;
return q;
}
datatype part(SeqList *q,int a,int b,int k)
{
int i,j;
datatype m,t;
m=q->data[a+k-1], q->data[a+k-1] = q->data[b],q->data[b] = m;
for (i=a-1, j = a; j != b; ++j)
if (q->data[j] < m)
t=q->data[++i], q->data[i]=q->data[j], q->data[j]=t;
t=q->data[++i], q->data[i]=q->data[j], q->data[j]=t;
if (k==i-a+1) return m;
if (k>i-a+1) return part(q, i+1, b, k-i+a-1);
else return part(q, a, i-1, k);
}
main()
{SeqList *q;
datatype A;
int k;
printf("输入个数:\n");
scanf("%d",&n);
q=CreatSeqList();
printf("输入K值:\n");
scanf("%d",&k);
A=part(q,0,q->last,k);
printf("第%d个最小值为: %d\n",k,A);
getch();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -