利用数组a[N]建立一个线性表,再从线性表中删除所有重复元素,并输出
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/14 11:14:31
利用数组a[N]建立一个线性表,再从线性表中删除所有重复元素,并输出
/*下面的程序产生N个随机的整数,存放在数组a中.然后根据数组a建立线性链表,
再删除链表中所有重复元素,并输出无重复元素结点的链表结点的值
*/
#include
#include
#include
///////////////////////定义结点数据类型等//////////
#define N 15
typedef int DataType;
typedef struct node
{
\x09DataType data;
\x09struct node *next;
} NODE, *PNODE;
///////////////////////使用到的函数的声明//////////
void printList(PNODE list);
PNODE createList(DataType x[], int n);
void delRepeatedNodeOnce(PNODE list);
///////////////////////主函数//////////////////////
int main()
{
\x09PNODE linkedlist=NULL;
\x09int i;
\x09DataType a[N];
\x09//产生随机数组
\x09printf("产生 %d 个随机整数构成的数组:\n", N);
\x09srand(time(NULL));
\x09for (i=0;inext;//p指向找到重复值对应节点的前一个节点
\x09while(foundNode != NULL)//查找一个重复节点
\x09{
\x09\x09
\x09\x09if (foundNode->data == list->data) break;
\x09\x09p = foundNode;
\x09\x09foundNode = foundNode->next;
\x09}
\x09if (foundNode != NULL)
\x09{
\x09\x09p->next = foundNode->next;
\x09\x09free(foundNode);
\x09\x09delRepeatedNodeOnce(list); //递归调用,删除跟list对应节点有重复值的下一个节点
\x09}else
\x09{
\x09\x09delRepeatedNodeOnce(list->next);//递归调用,删除跟list后一个节点有重复值的第一个节点
\x09}
}
再删除链表中所有重复元素,并输出无重复元素结点的链表结点的值
*/
#include
#include
#include
///////////////////////定义结点数据类型等//////////
#define N 15
typedef int DataType;
typedef struct node
{
\x09DataType data;
\x09struct node *next;
} NODE, *PNODE;
///////////////////////使用到的函数的声明//////////
void printList(PNODE list);
PNODE createList(DataType x[], int n);
void delRepeatedNodeOnce(PNODE list);
///////////////////////主函数//////////////////////
int main()
{
\x09PNODE linkedlist=NULL;
\x09int i;
\x09DataType a[N];
\x09//产生随机数组
\x09printf("产生 %d 个随机整数构成的数组:\n", N);
\x09srand(time(NULL));
\x09for (i=0;inext;//p指向找到重复值对应节点的前一个节点
\x09while(foundNode != NULL)//查找一个重复节点
\x09{
\x09\x09
\x09\x09if (foundNode->data == list->data) break;
\x09\x09p = foundNode;
\x09\x09foundNode = foundNode->next;
\x09}
\x09if (foundNode != NULL)
\x09{
\x09\x09p->next = foundNode->next;
\x09\x09free(foundNode);
\x09\x09delRepeatedNodeOnce(list); //递归调用,删除跟list对应节点有重复值的下一个节点
\x09}else
\x09{
\x09\x09delRepeatedNodeOnce(list->next);//递归调用,删除跟list后一个节点有重复值的第一个节点
\x09}
}
利用数组a[N]建立一个线性表,再从线性表中删除所有重复元素,并输出
一直长度为n的线性表A中的元素是整数,写算法删除线性表中所有值为item的数据元素.
已知长度为n的线性表A中的元素是整数,采用顺序储存结构,删除线性表中所有值为x的数据元素.
已知长度为n的线性表A采用顺序存储结构,写一时间效率有效的算法,删除数据元素[x,y]之间的所有元素.
在一个长度为n的线性表中,删除值为x的元素时需要比较元素和移动元素的总次数为
线性表是一种线性结构,一个线性表中的所有元素应________?
建立一个线性表,输入6个数据元素:10 20 30 40 50 60,用数组实现下列要求:
对于长度为n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为
(数据结构)设计一个算法从顺序表中删除重复元素,并使剩余元素之间的相对次序保持不变.
从键盘输入一个整数n(n≤10)和n个整数,存入数组a中,先依次输出各个数组元素的值,然后找出最大值,并输
1.编写程序,随机生成30个10-99之间的整数保存到数组中,在输出此数组后,要求删除数组中的所有重复元素之后
若一个线性表L采用顺序储存结构储存,其中所有元素为整数.设计一个算法,删除元素值在[x,y]之间的所有元素,要求算法的时