#include
这代码贴的也太乱了吧
把题目说一下吧,看看要实现什麽功能
定义了一个c变量,但一直是0。那int a[n],b[c],这b数组0个元素?
用链表可以稍微优化一些,这种简单功能,优化的空间不大。
代码应该是求不重复数中第K大的数,用链表如下:
#include <stdio.h>
#include <stdlib.h>
typedef struct _node
{
int data;
struct _node* next;
}Node,*LinkList;
int main()
{
LinkList head, p, t;
int n, k, i, tmp;
head = (LinkList)malloc(sizeof(Node));
head->next = NULL;
scanf("%d %d\n",&n,&k);
for(i=0;i<n;i++)
{
t = (LinkList)malloc(sizeof(Node));
t->next = NULL;
scanf("%d",&(t->data));
p = head;
while (p->next)
{
if (p->next->data < t->data)
break;
else if (p->next->data == t->data)
{
p = NULL;
break;
}
else
p = p->next;
}
if (p)
{
t->next = p->next;
p->next = t;
}
else
free(t);
}
i = 1;
p = head->next;
while (p && i < k)
{
i++;
p = p->next;
}
if (p)
printf("%d", p->data);
else
printf("NO RESULT");
return 0;
}