向量去重并排序的c语言实现
时间: 2024-05-06 20:19:29 浏览: 14
好的,我可以帮你实现向量去重并排序的C语言代码。以下是代码示例:
```
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a, const void *b) {
return *((int*)a) - *((int*)b);
}
int* unique_sort(int *vec, int size) {
int i, j, k;
int *res = (int*)malloc(size * sizeof(int));
// 使用qsort函数给数组排序
qsort(vec, size, sizeof(int), cmp);
// 使用双指针去重
for (i = 0, j = 0; i < size; i++) {
if (i == 0 || vec[i] != vec[i - 1]) {
res[j++] = vec[i];
}
}
// 返回去重后的数组
return res;
}
int main() {
int vec[] = {5, 2, 5, 6, 1, 9, 2, 3, 6};
int size = sizeof(vec) / sizeof(int);
int *res = unique_sort(vec, size);
printf("去重并排序后的数组为:");
for(int i = 0; i < size; i++) {
printf("%d ", res[i]);
}
free(res);
return 0;
}
```
这段代码首先使用qsort函数对整数数组进行排序,然后使用双指针去除重复元素,最后返回去重后的数组。如果你有其他问题,可以随时问我。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)